Loading drivers/block/rbd.c +4 −36 Original line number Diff line number Diff line Loading @@ -692,12 +692,9 @@ static void rbd_release(struct gendisk *disk, fmode_t mode) put_device(&rbd_dev->dev); } static int rbd_ioctl_set_ro(struct rbd_device *rbd_dev, unsigned long arg) static int rbd_set_read_only(struct block_device *bdev, bool ro) { int ro; if (get_user(ro, (int __user *)arg)) return -EFAULT; struct rbd_device *rbd_dev = bdev->bd_disk->private_data; /* * Both images mapped read-only and snapshots can't be marked Loading @@ -710,43 +707,14 @@ static int rbd_ioctl_set_ro(struct rbd_device *rbd_dev, unsigned long arg) rbd_assert(!rbd_is_snap(rbd_dev)); } /* Let blkdev_roset() handle it */ return -ENOTTY; } static int rbd_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { struct rbd_device *rbd_dev = bdev->bd_disk->private_data; int ret; switch (cmd) { case BLKROSET: ret = rbd_ioctl_set_ro(rbd_dev, arg); break; default: ret = -ENOTTY; } return ret; } #ifdef CONFIG_COMPAT static int rbd_compat_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { return rbd_ioctl(bdev, mode, cmd, arg); return 0; } #endif /* CONFIG_COMPAT */ static const struct block_device_operations rbd_bd_ops = { .owner = THIS_MODULE, .open = rbd_open, .release = rbd_release, .ioctl = rbd_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = rbd_compat_ioctl, #endif .set_read_only = rbd_set_read_only, }; /* Loading Loading
drivers/block/rbd.c +4 −36 Original line number Diff line number Diff line Loading @@ -692,12 +692,9 @@ static void rbd_release(struct gendisk *disk, fmode_t mode) put_device(&rbd_dev->dev); } static int rbd_ioctl_set_ro(struct rbd_device *rbd_dev, unsigned long arg) static int rbd_set_read_only(struct block_device *bdev, bool ro) { int ro; if (get_user(ro, (int __user *)arg)) return -EFAULT; struct rbd_device *rbd_dev = bdev->bd_disk->private_data; /* * Both images mapped read-only and snapshots can't be marked Loading @@ -710,43 +707,14 @@ static int rbd_ioctl_set_ro(struct rbd_device *rbd_dev, unsigned long arg) rbd_assert(!rbd_is_snap(rbd_dev)); } /* Let blkdev_roset() handle it */ return -ENOTTY; } static int rbd_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { struct rbd_device *rbd_dev = bdev->bd_disk->private_data; int ret; switch (cmd) { case BLKROSET: ret = rbd_ioctl_set_ro(rbd_dev, arg); break; default: ret = -ENOTTY; } return ret; } #ifdef CONFIG_COMPAT static int rbd_compat_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { return rbd_ioctl(bdev, mode, cmd, arg); return 0; } #endif /* CONFIG_COMPAT */ static const struct block_device_operations rbd_bd_ops = { .owner = THIS_MODULE, .open = rbd_open, .release = rbd_release, .ioctl = rbd_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = rbd_compat_ioctl, #endif .set_read_only = rbd_set_read_only, }; /* Loading