Btrfs: fix trivial error in btrfs_ioctl_resize()

This patch fixes the following problem:
- improper return value
- unnecessary read-only check

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
This commit is contained in:
Miao Xie
2012-12-21 09:21:30 +00:00
committed by Josef Bacik
parent 4eee4fa4f8
commit dfd79829b7

View File

@@ -1329,9 +1329,6 @@ static noinline int btrfs_ioctl_resize(struct file *file,
int ret = 0; int ret = 0;
int mod = 0; int mod = 0;
if (root->fs_info->sb->s_flags & MS_RDONLY)
return -EROFS;
if (!capable(CAP_SYS_ADMIN)) if (!capable(CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
@@ -1363,6 +1360,10 @@ static noinline int btrfs_ioctl_resize(struct file *file,
*devstr = '\0'; *devstr = '\0';
devstr = vol_args->name; devstr = vol_args->name;
devid = simple_strtoull(devstr, &end, 10); devid = simple_strtoull(devstr, &end, 10);
if (!devid) {
ret = -EINVAL;
goto out_free;
}
printk(KERN_INFO "btrfs: resizing devid %llu\n", printk(KERN_INFO "btrfs: resizing devid %llu\n",
(unsigned long long)devid); (unsigned long long)devid);
} }
@@ -1371,7 +1372,7 @@ static noinline int btrfs_ioctl_resize(struct file *file,
if (!device) { if (!device) {
printk(KERN_INFO "btrfs: resizer unable to find device %llu\n", printk(KERN_INFO "btrfs: resizer unable to find device %llu\n",
(unsigned long long)devid); (unsigned long long)devid);
ret = -EINVAL; ret = -ENODEV;
goto out_free; goto out_free;
} }
@@ -1379,7 +1380,7 @@ static noinline int btrfs_ioctl_resize(struct file *file,
printk(KERN_INFO "btrfs: resizer unable to apply on " printk(KERN_INFO "btrfs: resizer unable to apply on "
"readonly device %llu\n", "readonly device %llu\n",
(unsigned long long)devid); (unsigned long long)devid);
ret = -EINVAL; ret = -EPERM;
goto out_free; goto out_free;
} }
@@ -1401,7 +1402,7 @@ static noinline int btrfs_ioctl_resize(struct file *file,
} }
if (device->is_tgtdev_for_dev_replace) { if (device->is_tgtdev_for_dev_replace) {
ret = -EINVAL; ret = -EPERM;
goto out_free; goto out_free;
} }