aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Bo <liubo2009@cn.fujitsu.com>2012-06-14 02:23:19 -0600
committerChris Mason <chris.mason@fusionio.com>2012-06-15 11:42:26 -0400
commit4e42ae1bdcda77fc958a17d7ff4ba5a9c9c207da (patch)
tree4e699d6744df1509c730ab8d4b8ff714d347d5e1
parentbc1782374b128103ae9689e0753e0610f35b6bfd (diff)
downloadlinux-stericsson-4e42ae1bdcda77fc958a17d7ff4ba5a9c9c207da.tar.gz
Btrfs: do not resize a seeding device
Seeding devices are not supposed to change any more. Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r--fs/btrfs/ioctl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index a98f7d252829..58adbd0356d6 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1306,6 +1306,13 @@ static noinline int btrfs_ioctl_resize(struct btrfs_root *root,
ret = -EINVAL;
goto out_free;
}
+ if (device->fs_devices && device->fs_devices->seeding) {
+ printk(KERN_INFO "btrfs: resizer unable to apply on "
+ "seeding device %llu\n", devid);
+ ret = -EINVAL;
+ goto out_free;
+ }
+
if (!strcmp(sizestr, "max"))
new_size = device->bdev->bd_inode->i_size;
else {