diff mbox

block: Fix bdrv_all_delete_snapshot() error handling

Message ID 1465210604-11661-1-git-send-email-kwolf@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kevin Wolf June 6, 2016, 10:56 a.m. UTC
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>
---
 block/snapshot.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Max Reitz June 6, 2016, 11:12 a.m. UTC | #1
On 06.06.2016 12:56, Kevin Wolf wrote:
> 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>
> ---
>  block/snapshot.c | 3 ---
>  1 file changed, 3 deletions(-)

Reviewed-by: Max Reitz <mreitz@redhat.com>
Stefan Hajnoczi June 7, 2016, 1:49 p.m. UTC | #2
On Mon, Jun 06, 2016 at 12:56:44PM +0200, Kevin Wolf wrote:
> 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>
> ---
>  block/snapshot.c | 3 ---
>  1 file changed, 3 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff mbox

Patch

diff --git a/block/snapshot.c b/block/snapshot.c
index 6e6e34f..da89d2b 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) {