aboutsummaryrefslogtreecommitdiff
path: root/block/snapshot.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-06-06 12:53:22 +0200
committerKevin Wolf <kwolf@redhat.com>2016-06-08 10:21:09 +0200
commit2a9170bcd4980cdd75791f3aa0f762c5e53334bb (patch)
tree0c9d5386cd8e5c4350559d8d9fdd762a20ff21c9 /block/snapshot.c
parentf3c3b87dae44ac6c82246ceb3953793951800a9a (diff)
block: Fix bdrv_all_delete_snapshot() error handling
The code to exit the loop after bdrv_snapshot_delete_by_id_or_name() returned failure was duplicated. The first copy of it was too early so that the AioContext lock would not be freed. This patch removes it so that only the second, correct copy remains. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block/snapshot.c')
-rw-r--r--block/snapshot.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/block/snapshot.c b/block/snapshot.c
index 6e6e34fcf4..da89d2b085 100644
--- a/block/snapshot.c
+++ b/block/snapshot.c
@@ -409,9 +409,6 @@ int bdrv_all_delete_snapshot(const char *name, BlockDriverState **first_bad_bs,
if (bdrv_can_snapshot(bs) &&
bdrv_snapshot_find(bs, snapshot, name) >= 0) {
ret = bdrv_snapshot_delete_by_id_or_name(bs, name, err);
- if (ret < 0) {
- goto fail;
- }
}
aio_context_release(ctx);
if (ret < 0) {