On 06/26/14 05:29, Eric Blake wrote:
On 06/25/2014 10:55 AM, Peter Krempa wrote:
> When creating a new disk mirror the new struct is stored in a separate
> variable until everything went well. The removed hunk would actually
> remove existing mirror information for example when the api would be run
> if a mirror still exists.
> ---
> src/qemu/qemu_driver.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 66752f1..f6f5ace 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -15382,10 +15382,6 @@ qemuDomainBlockCopy(virDomainObjPtr vm,
> endjob:
> if (need_unlink && unlink(dest))
> VIR_WARN("unable to unlink just-created %s", dest);
> - if (ret < 0 && disk) {
> - virStorageSourceFree(disk->mirror);
> - disk->mirror = NULL;
> - }
Oh my. This was a regression latently introduced in commit ff5f30b,
v1.2.1, then aggravated in commit 7b7bf001 (thankfully unreleased).
Thanks for catching and fixing this.
ACK.
I've pushed this one and 1-7 of this series as they are trivial enough
to get in during the freeze. I'm not sure though about the other changes.
Peter