]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qcow2: Always use error path on writing snapshots
authorMax Reitz <mreitz@redhat.com>
Wed, 9 Oct 2013 08:51:04 +0000 (10:51 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 11 Oct 2013 14:49:59 +0000 (16:49 +0200)
qcow2_write_snapshots does contain a fail label and there is no reason
not to use it on some errors; therefore, we should always jump there on
error.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-snapshot.c

index 5e8a7794f485b0f45b248102369747d982043075..33379749c19be20cde6cb08732a172d4f4eec61a 100644 (file)
@@ -182,11 +182,12 @@ static int qcow2_write_snapshots(BlockDriverState *bs)
     snapshots_offset = qcow2_alloc_clusters(bs, snapshots_size);
     offset = snapshots_offset;
     if (offset < 0) {
-        return offset;
+        ret = offset;
+        goto fail;
     }
     ret = bdrv_flush(bs);
     if (ret < 0) {
-        return ret;
+        goto fail;
     }
 
     /* The snapshot list position has not yet been updated, so these clusters
@@ -194,7 +195,7 @@ static int qcow2_write_snapshots(BlockDriverState *bs)
     ret = qcow2_pre_write_overlap_check(bs, QCOW2_OL_DEFAULT, offset,
                                         snapshots_size);
     if (ret < 0) {
-        return ret;
+        goto fail;
     }