rbd: treat images mapped read-only seriously
Even though -o ro/-o read_only/--read-only options are very old, we
have never really treated them seriously (on par with snapshots). As
a first step, fail writes to images mapped read-only just like we do
for snapshots.
We need this check in rbd because the block layer basically ignores
read-only setting, see commit a32e236eb9
("Partially revert "block:
fail op_is_write() requests to read-only partitions"").
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Dongsheng Yang <dongsheng.yang@easystack.cn>
This commit is contained in:
Родитель
39258aa2db
Коммит
b948ad7897
|
@ -4837,11 +4837,14 @@ static void rbd_queue_workfn(struct work_struct *work)
|
|||
goto err_rq;
|
||||
}
|
||||
|
||||
if (op_type != OBJ_OP_READ && rbd_is_snap(rbd_dev)) {
|
||||
rbd_warn(rbd_dev, "%s on read-only snapshot",
|
||||
obj_op_name(op_type));
|
||||
result = -EIO;
|
||||
goto err;
|
||||
if (op_type != OBJ_OP_READ) {
|
||||
if (rbd_is_ro(rbd_dev)) {
|
||||
rbd_warn(rbd_dev, "%s on read-only mapping",
|
||||
obj_op_name(op_type));
|
||||
result = -EIO;
|
||||
goto err;
|
||||
}
|
||||
rbd_assert(!rbd_is_snap(rbd_dev));
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче