On Fri, Apr 25, 2014 at 10:45:36 -0600, Eric Blake wrote:
On 04/25/2014 07:13 AM, Jiri Denemark wrote:
> When a snapshot operation finishes we have to recheck the backing chain
> of all disks involved in the snapshot. And we need to do that even if
> the operation failed because some of the disks might have changed if
> QEMU did not support transactions.
>
> Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
> ---
>
> Notes:
> - BlockRebase and BlockCommit already recheck the backing chain when we
> get an event about a completed block job (in qemuProcessHandleBlockJob)
>
> src/qemu/qemu_driver.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> cleanup:
> + /* recheck backing chains of all disks involved in the snapshot */
> + orig_err = virSaveLastError();
> + for (i = 0; i < snap->def->ndisks; i++) {
> + if (snap->def->disks[i].snapshot ==
VIR_DOMAIN_SNAPSHOT_LOCATION_NONE)
> + continue;
Do we really need to reprobe internal snapshots? That is, could this be:
if (snap->def->disks[i].snapshot != VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
Hmm, right you are. I changed it and pushed the patch. Thanks.
Jirka