aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-07-08 14:19:17 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:04 -0400
commit7d9eb12c8739e7dc80c78c6b3596f912ecd8f941 (patch)
tree000608285b44920f22e0888753b36299bc762cef /fs/btrfs/ioctl.c
parentBtrfs: Fix deadlock while searching for dead roots on mount (diff)
downloadlinux-dev-7d9eb12c8739e7dc80c78c6b3596f912ecd8f941.tar.xz
linux-dev-7d9eb12c8739e7dc80c78c6b3596f912ecd8f941.zip
Btrfs: Add locking around volume management (device add/remove/balance)
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 026039a2ac58..83f17a5cbd6a 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -307,8 +307,7 @@ static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg)
goto out;
}
- mutex_lock(&root->fs_info->alloc_mutex);
- mutex_lock(&root->fs_info->chunk_mutex);
+ mutex_lock(&root->fs_info->volume_mutex);
sizestr = vol_args->name;
devstr = strchr(sizestr, ':');
if (devstr) {
@@ -378,8 +377,7 @@ static int btrfs_ioctl_resize(struct btrfs_root *root, void __user *arg)
}
out_unlock:
- mutex_lock(&root->fs_info->alloc_mutex);
- mutex_lock(&root->fs_info->chunk_mutex);
+ mutex_unlock(&root->fs_info->volume_mutex);
out:
kfree(vol_args);
return ret;