mirror of https://github.com/xemu-project/xemu.git
migration: factor our snapshottability check in load_vmstate
We should check that all inserted and not read-only images support snapshotting. This could be made using already invented helper bdrv_all_can_snapshot(). Signed-off-by: Denis V. Lunev <den@openvz.org> Reviewed-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Kevin Wolf <kwolf@redhat.com> Tested-by: Greg Kurz <gkurz@linux.vnet.ibm.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
4c1cdbaad0
commit
849f96e2f7
|
@ -2051,6 +2051,12 @@ int load_vmstate(const char *name)
|
||||||
QEMUFile *f;
|
QEMUFile *f;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!bdrv_all_can_snapshot(&bs)) {
|
||||||
|
error_report("Device '%s' is writable but does not support snapshots.",
|
||||||
|
bdrv_get_device_name(bs));
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
bs_vm_state = find_vmstate_bs();
|
bs_vm_state = find_vmstate_bs();
|
||||||
if (!bs_vm_state) {
|
if (!bs_vm_state) {
|
||||||
error_report("No block device supports snapshots");
|
error_report("No block device supports snapshots");
|
||||||
|
@ -2071,15 +2077,8 @@ int load_vmstate(const char *name)
|
||||||
writable and check if the requested snapshot is available too. */
|
writable and check if the requested snapshot is available too. */
|
||||||
bs = NULL;
|
bs = NULL;
|
||||||
while ((bs = bdrv_next(bs))) {
|
while ((bs = bdrv_next(bs))) {
|
||||||
|
|
||||||
if (!bdrv_is_inserted(bs) || bdrv_is_read_only(bs)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!bdrv_can_snapshot(bs)) {
|
if (!bdrv_can_snapshot(bs)) {
|
||||||
error_report("Device '%s' is writable but does not support snapshots.",
|
continue;
|
||||||
bdrv_get_device_name(bs));
|
|
||||||
return -ENOTSUP;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bdrv_snapshot_find(bs, &sn, name);
|
ret = bdrv_snapshot_find(bs, &sn, name);
|
||||||
|
|
Loading…
Reference in New Issue