[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-img fails to delete last snapshot

From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] qemu-img fails to delete last snapshot
Date: Mon, 12 May 2014 10:39:27 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 05/09/2014 09:02 AM, Mike Day wrote:
> When deleting the last snapshot, copying the resulting snapshot table
> currently fails, causing the delete operation to also fail. Fix the
> failure by skipping the copy and just writing the snapshot header and
> freeing the extra clusters.
> Signed-off-by: Mike Day <address@hidden>
> ---
> There are two specific problems in the curent code. First is a lack of


> parenthesis in the calculation of a memmove parameter:
> s->nb_snapshots - snapshot_index - 1
> When s->nb_snapshots is 0, snapshot_index is 1. 
> 0 - 1 - 1 = 0xfffffffe
> it should be:
> 0 - (1 - 1) = 0x00
> The second problem is shifting the snapshot table to the left. After
> removing the last snapshot there are no existing snapshots to be
> shifted. All that needs to be done is to write the header and
> unallocate the blocks.

This information is actually quite useful in understanding the patch,
and I would have included it prior to the --- for inclusion in git,
rather than in the reviewer-only commentary that gets stripped during
'git am'.

>  block/qcow2-snapshot.c | 25 +++++++++++++++----------
>  1 file changed, 15 insertions(+), 10 deletions(-)

I'd suggest posting a v2 with a better commit message; but the code
itself seems fine, so you can add:

Reviewed-by: Eric Blake <address@hidden>

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]