diff options
author | Yan Zheng <zheng.yan@oracle.com> | 2008-12-19 16:58:39 +0100 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-12-19 16:58:39 +0100 |
commit | ab67b7c1f780a8a321fe7ee49117775009350fb3 (patch) | |
tree | 35a7ac2e5f641d8f11d472d7f84601d16f4fcddc /fs/btrfs/ioctl.c | |
parent | Btrfs: fix return value from btrfs_listxattr when buffer size is too small (diff) | |
download | linux-ab67b7c1f780a8a321fe7ee49117775009350fb3.tar.xz linux-ab67b7c1f780a8a321fe7ee49117775009350fb3.zip |
Btrfs: Add missing mnt_drop_write in ioctl.c
This patch adds the missing mnt_drop_write to match
mnt_want_write in btrfs_ioctl_defrag and btrfs_ioctl_clone
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Diffstat (limited to '')
-rw-r--r-- | fs/btrfs/ioctl.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 5d67858ce993..ab429fe0fa0f 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -646,6 +646,7 @@ static int btrfs_ioctl_defrag(struct file *file) break; } + mnt_drop_write(file->f_path.mnt); return 0; } @@ -730,8 +731,10 @@ static long btrfs_ioctl_clone(struct file *file, unsigned long srcfd, return ret; src_file = fget(srcfd); - if (!src_file) - return -EBADF; + if (!src_file) { + ret = -EBADF; + goto out_drop_write; + } src = src_file->f_dentry->d_inode; ret = -EINVAL; @@ -982,6 +985,8 @@ out_unlock: btrfs_free_path(path); out_fput: fput(src_file); +out_drop_write: + mnt_drop_write(file->f_path.mnt); return ret; } |