aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/super.c
diff options
context:
space:
mode:
authorStefan Behrens <sbehrens@giantdisaster.de>2012-11-05 12:29:28 -0500
committerJosef Bacik <jbacik@fusionio.com>2012-12-12 17:15:39 -0500
commit63a212abc2315972b245f93cb11ae3acf3c0b513 (patch)
tree65d9f4020795b6a3521bf0a94922a082ae4ede6f /fs/btrfs/super.c
parent5ac00addc7ac09110995fe967071d191b5981cc1 (diff)
Btrfs: disallow some operations on the device replace target device
This patch adds some code to disallow operations on the device that is used as the target for the device replace operation. Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r--fs/btrfs/super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index ef2415896b06..837ad2d27853 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -1354,7 +1354,8 @@ static int btrfs_calc_avail_data_space(struct btrfs_root *root, u64 *free_bytes)
1354 min_stripe_size = BTRFS_STRIPE_LEN; 1354 min_stripe_size = BTRFS_STRIPE_LEN;
1355 1355
1356 list_for_each_entry(device, &fs_devices->devices, dev_list) { 1356 list_for_each_entry(device, &fs_devices->devices, dev_list) {
1357 if (!device->in_fs_metadata || !device->bdev) 1357 if (!device->in_fs_metadata || !device->bdev ||
1358 device->is_tgtdev_for_dev_replace)
1358 continue; 1359 continue;
1359 1360
1360 avail_space = device->total_bytes - device->bytes_used; 1361 avail_space = device->total_bytes - device->bytes_used;