This lets us change the read-only flag for device mapper block devices via the BLKROSET ioctl. Signed-off-by: Łukasz Patron <priv.luk@xxxxxxxxx> --- drivers/md/dm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 87bb90303435..538a93e596d7 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -410,6 +410,12 @@ static int dm_blk_getgeo(struct block_device *bdev, struct hd_geometry *geo) return dm_get_geometry(md, geo); } +static int dm_blk_set_read_only(struct block_device *bdev, bool ro) +{ + set_disk_ro(bdev->bd_disk, ro); + return 0; +} + static int dm_prepare_ioctl(struct mapped_device *md, int *srcu_idx, struct block_device **bdev) { @@ -3666,6 +3672,7 @@ static const struct block_device_operations dm_blk_dops = { .release = dm_blk_close, .ioctl = dm_blk_ioctl, .getgeo = dm_blk_getgeo, + .set_read_only = dm_blk_set_read_only, .report_zones = dm_blk_report_zones, .pr_ops = &dm_pr_ops, .owner = THIS_MODULE -- 2.46.0