savevm: Delete snapshots just created in case of error
authorTuguoyi <tu.guoyi@h3c.com>
Tue, 8 Dec 2020 06:53:36 +0000 (14:53 +0800)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Fri, 18 Dec 2020 10:08:24 +0000 (10:08 +0000)
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>
migration/savevm.c

index 601b5144b85e45481d4a5499fd8ac0eeb4a46eb7..4a18c9d89777e2952074eeab9583021ac7802871 100644 (file)
@@ -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;
     }