mirror of https://github.com/xemu-project/xemu.git
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: Alberto Garcia <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
e7d22f8bc6
commit
051a60f6a3
|
@ -4100,7 +4100,6 @@ void qmp_change_backing_file(const char *device,
|
||||||
BlockDriverState *image_bs = NULL;
|
BlockDriverState *image_bs = NULL;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
bool ro;
|
bool ro;
|
||||||
int open_flags;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
bs = qmp_get_root_bs(device, errp);
|
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 */
|
/* if not r/w, reopen to make r/w */
|
||||||
open_flags = image_bs->open_flags;
|
|
||||||
ro = bdrv_is_read_only(image_bs);
|
ro = bdrv_is_read_only(image_bs);
|
||||||
|
|
||||||
if (ro) {
|
if (ro) {
|
||||||
bdrv_reopen(image_bs, open_flags | BDRV_O_RDWR, &local_err);
|
if (bdrv_reopen_set_read_only(image_bs, false, errp) != 0) {
|
||||||
if (local_err) {
|
|
||||||
error_propagate(errp, local_err);
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4164,7 +4160,7 @@ void qmp_change_backing_file(const char *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ro) {
|
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);
|
error_propagate(errp, local_err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue