Browse Source

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>
Yan Zheng 16 năm trước cách đây
mục cha
commit
ab67b7c1f7
1 tập tin đã thay đổi với 7 bổ sung2 xóa
  1. 7 2
      fs/btrfs/ioctl.c

+ 7 - 2
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;
 }