]> git.proxmox.com Git - mirror_qemu.git/commitdiff
commit: Don't use error_abort in commit_start
authorFam Zheng <famz@redhat.com>
Tue, 7 Mar 2017 11:07:22 +0000 (19:07 +0800)
committerKevin Wolf <kwolf@redhat.com>
Tue, 7 Mar 2017 13:53:29 +0000 (14:53 +0100)
bdrv_set_backing_hd failure needn't be abort. Since we already have
error parameter, use it.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/commit.c

index e57c1cffa22f37dd11a74a0ea96ad88eaf82049a..9c4198837ff492f46ec928cbcc2e42853a224fdc 100644 (file)
@@ -316,8 +316,20 @@ void commit_start(const char *job_id, BlockDriverState *bs,
         goto fail;
     }
 
-    bdrv_set_backing_hd(commit_top_bs, top, &error_abort);
-    bdrv_set_backing_hd(overlay_bs, commit_top_bs, &error_abort);
+    bdrv_set_backing_hd(commit_top_bs, top, &local_err);
+    if (local_err) {
+        bdrv_unref(commit_top_bs);
+        commit_top_bs = NULL;
+        error_propagate(errp, local_err);
+        goto fail;
+    }
+    bdrv_set_backing_hd(overlay_bs, commit_top_bs, &local_err);
+    if (local_err) {
+        bdrv_unref(commit_top_bs);
+        commit_top_bs = NULL;
+        error_propagate(errp, local_err);
+        goto fail;
+    }
 
     s->commit_top_bs = commit_top_bs;
     bdrv_unref(commit_top_bs);