diff options
author | Miao Xie <miaox@cn.fujitsu.com> | 2012-12-21 09:19:51 +0000 |
---|---|---|
committer | Josef Bacik <josef@toxicpanda.com> | 2013-01-14 13:52:49 -0500 |
commit | dba60f3f5d564167118cad151a7d41dfe8d2a5f7 (patch) | |
tree | ac27d2c6b3797a2f52cc5d34ca1d570684db3be6 /fs/btrfs/ioctl.c | |
parent | 5c39da5b6ca23e68e7acea7f4c01470383475214 (diff) | |
download | linux-dba60f3f5d564167118cad151a7d41dfe8d2a5f7.tar.gz linux-dba60f3f5d564167118cad151a7d41dfe8d2a5f7.tar.bz2 linux-dba60f3f5d564167118cad151a7d41dfe8d2a5f7.zip |
Btrfs: fix resize a readonly device
We should not resize a readonly device, fix it.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 5a72896bd769..0de21213d05d 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -1362,6 +1362,7 @@ static noinline int btrfs_ioctl_resize(struct file *file, printk(KERN_INFO "btrfs: resizing devid %llu\n", (unsigned long long)devid); } + device = btrfs_find_device(root->fs_info, devid, NULL, NULL); if (!device) { printk(KERN_INFO "btrfs: resizer unable to find device %llu\n", @@ -1369,9 +1370,10 @@ static noinline int btrfs_ioctl_resize(struct file *file, ret = -EINVAL; goto out_free; } - if (device->fs_devices && device->fs_devices->seeding) { + + if (!device->writeable) { printk(KERN_INFO "btrfs: resizer unable to apply on " - "seeding device %llu\n", + "readonly device %llu\n", (unsigned long long)devid); ret = -EINVAL; goto out_free; |