summary refs log tree commit diff stats
path: root/migration/savevm.c
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2021-02-04 12:48:28 +0000
committerDr. David Alan Gilbert <dgilbert@redhat.com>2021-02-08 11:19:51 +0000
commit3d3e9b1f669b60d9d3cb857edbfc3d54cbb9c0ef (patch)
tree0c55e6564c1cea3901e2af1fd86eb9d7582b6182 /migration/savevm.c
parentc22d644ca78dcccdfc4a2e2bc3594bd27c1f4fe5 (diff)
downloadfocaccia-qemu-3d3e9b1f669b60d9d3cb857edbfc3d54cbb9c0ef.tar.gz
focaccia-qemu-3d3e9b1f669b60d9d3cb857edbfc3d54cbb9c0ef.zip
block: rename and alter bdrv_all_find_snapshot semantics
Currently bdrv_all_find_snapshot() will return 0 if it finds
a snapshot, -1 if an error occurs, or if it fails to find a
snapshot. New callers to be added want to distinguish between
the error scenario and failing to find a snapshot.

Rename it to bdrv_all_has_snapshot and make it return -1 on
error, 0 if no snapshot is found and 1 if snapshot is found.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210204124834.774401-7-berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/savevm.c')
-rw-r--r--migration/savevm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/migration/savevm.c b/migration/savevm.c
index cdd201e7f8..a2a842d067 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2977,10 +2977,15 @@ bool load_snapshot(const char *name, Error **errp)
     if (!bdrv_all_can_snapshot(false, NULL, errp)) {
         return false;
     }
-    ret = bdrv_all_find_snapshot(name, false, NULL, errp);
+    ret = bdrv_all_has_snapshot(name, false, NULL, errp);
     if (ret < 0) {
         return false;
     }
+    if (ret == 0) {
+        error_setg(errp, "Snapshot '%s' does not exist in one or more devices",
+                   name);
+        return false;
+    }
 
     bs_vm_state = bdrv_all_find_vmstate_bs(NULL, false, NULL, errp);
     if (!bs_vm_state) {