提交 051a60f6 编写于 作者: A Alberto Garcia 提交者: Kevin Wolf

block: Use bdrv_reopen_set_read_only() in qmp_change_backing_file()

This patch replaces the bdrv_reopen() calls that set and remove the
BDRV_O_RDWR flag with the new bdrv_reopen_set_read_only() function.
Signed-off-by: NAlberto Garcia <berto@igalia.com>
Reviewed-by: NMax Reitz <mreitz@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 e7d22f8b
......@@ -4100,7 +4100,6 @@ void qmp_change_backing_file(const char *device,
BlockDriverState *image_bs = NULL;
Error *local_err = NULL;
bool ro;
int open_flags;
int ret;
bs = qmp_get_root_bs(device, errp);
......@@ -4142,13 +4141,10 @@ void qmp_change_backing_file(const char *device,
}
/* if not r/w, reopen to make r/w */
open_flags = image_bs->open_flags;
ro = bdrv_is_read_only(image_bs);
if (ro) {
bdrv_reopen(image_bs, open_flags | BDRV_O_RDWR, &local_err);
if (local_err) {
error_propagate(errp, local_err);
if (bdrv_reopen_set_read_only(image_bs, false, errp) != 0) {
goto out;
}
}
......@@ -4164,7 +4160,7 @@ void qmp_change_backing_file(const char *device,
}
if (ro) {
bdrv_reopen(image_bs, open_flags, &local_err);
bdrv_reopen_set_read_only(image_bs, true, &local_err);
error_propagate(errp, local_err);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册