aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorJosh Durgin <josh.durgin@inktank.com>2013-09-30 23:10:04 -0400
committerJosh Durgin <josh.durgin@inktank.com>2014-06-10 21:09:25 -0400
commit22001f619f29ddf66582d834223dcff4c0b74595 (patch)
tree67d9a9cdcb5c7f3fe45e1fab6393c130eb65857c /drivers/block
parent77f33c03739697d01c2e730e4c2610424059ceaf (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.c2
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)