summaryrefslogtreecommitdiff
path: root/migration
diff options
context:
space:
mode:
authorTuguoyi <tu.guoyi@h3c.com>2020-12-08 14:53:36 +0800
committerDr. David Alan Gilbert <dgilbert@redhat.com>2020-12-18 10:08:24 +0000
commit2a909dc4301145489cb873a676cb60cbc5ca9c68 (patch)
treed8b4866ce8047fb3e45505b5e315e506e76c9436 /migration
parent80ef0586d36a49ada917ac4e775a3c3574c9713e (diff)
savevm: Delete snapshots just created in case of error
bdrv_all_create_snapshot() can fails with some snapshots created, so it's better to delete those snapshots before returns to the caller Signed-off-by: Tuguoyi <tu.guoyi@h3c.com> Message-Id: <1607410416-13563-3-git-send-email-tu.guoyi@h3c.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/savevm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/migration/savevm.c b/migration/savevm.c
index 601b5144b8..4a18c9d897 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2833,6 +2833,7 @@ int save_snapshot(const char *name, Error **errp)
if (ret < 0) {
error_setg(errp, "Error while creating snapshot on '%s'",
bdrv_get_device_or_node_name(bs));
+ bdrv_all_delete_snapshot(sn->name, &bs, NULL);
goto the_end;
}