summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-08-27 11:18:55 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-09-27 05:10:09 +0400
commit8319aa9127a1282b24c3ece473a058d246f35b0d (patch)
tree600f21c7ce0586ba60fcb53cc56130672ca221f6
parent515e0d6634086d61ae846f0e8785b6f0220f3422 (diff)
downloadlinux-8319aa9127a1282b24c3ece473a058d246f35b0d.tar.xz
switch btrfs_ioctl_clone() to fget_light()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/btrfs/ioctl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 3c88abb0e265..3494f2f44167 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2350,7 +2350,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
struct btrfs_key key;
u32 nritems;
int slot;
- int ret;
+ int ret, fput_needed;
u64 len = olen;
u64 bs = root->fs_info->sb->s_blocksize;
u64 hint_byte;
@@ -2376,7 +2376,7 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
if (ret)
return ret;
- src_file = fget(srcfd);
+ src_file = fget_light(srcfd, &fput_needed);
if (!src_file) {
ret = -EBADF;
goto out_drop_write;
@@ -2724,7 +2724,7 @@ out_unlock:
vfree(buf);
btrfs_free_path(path);
out_fput:
- fput(src_file);
+ fput_light(src_file, fput_needed);
out_drop_write:
mnt_drop_write_file(file);
return ret;