From 2a9170bcd4980cdd75791f3aa0f762c5e53334bb Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Mon, 6 Jun 2016 12:53:22 +0200 Subject: 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 Reviewed-by: Max Reitz Reviewed-by: Stefan Hajnoczi --- block/snapshot.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'block/snapshot.c') 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) { -- cgit v1.2.1