diff options
author | Josh Durgin <josh.durgin@inktank.com> | 2013-09-30 23:10:04 -0400 |
---|---|---|
committer | Josh Durgin <josh.durgin@inktank.com> | 2014-06-10 21:09:25 -0400 |
commit | 22001f619f29ddf66582d834223dcff4c0b74595 (patch) | |
tree | 67d9a9cdcb5c7f3fe45e1fab6393c130eb65857c /drivers/block | |
parent | 77f33c03739697d01c2e730e4c2610424059ceaf (diff) |
rbd: only set disk to read-only once
rbd_open(), called every time the device is opened, calls
set_device_ro(). There's no reason to set the device read-only or
read-write every time it is opened. Just do this once during device
setup, using set_disk_ro() instead because the struct block_device
isn't available to us there.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/rbd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 6423f6e3b07c..bbeb404b3a07 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c | |||
@@ -541,7 +541,6 @@ static int rbd_open(struct block_device *bdev, fmode_t mode) | |||
541 | return -ENOENT; | 541 | return -ENOENT; |
542 | 542 | ||
543 | (void) get_device(&rbd_dev->dev); | 543 | (void) get_device(&rbd_dev->dev); |
544 | set_device_ro(bdev, rbd_dev->mapping.read_only); | ||
545 | 544 | ||
546 | return 0; | 545 | return 0; |
547 | } | 546 | } |
@@ -5060,6 +5059,7 @@ static int rbd_dev_device_setup(struct rbd_device *rbd_dev) | |||
5060 | if (ret) | 5059 | if (ret) |
5061 | goto err_out_disk; | 5060 | goto err_out_disk; |
5062 | set_capacity(rbd_dev->disk, rbd_dev->mapping.size / SECTOR_SIZE); | 5061 | set_capacity(rbd_dev->disk, rbd_dev->mapping.size / SECTOR_SIZE); |
5062 | set_disk_ro(rbd_dev->disk, rbd_dev->mapping.read_only); | ||
5063 | 5063 | ||
5064 | ret = rbd_bus_add_dev(rbd_dev); | 5064 | ret = rbd_bus_add_dev(rbd_dev); |
5065 | if (ret) | 5065 | if (ret) |