[libvirt] Attempting to pivot disk with incomplete mirror results in hang
Scott Sullivan
ssullivan at liquidweb.com
Wed Jan 14 16:02:18 UTC 2015
On 01/13/2015 11:48 PM, Eric Blake wrote:
> On 01/13/2015 12:43 PM, Scott Sullivan wrote:
>> I have what appears to be a bug when pivoting a disk during a block copy that is not yet 100% finished, resulting in the pivot command hanging. I have verified this problem on libvirt 1.2.10.
> I couldn't reproduce with the latest libvirt. After more research, I
> think the problem was fixed for 1.2.11 with this commit:
>
> commit fe3691f66348d55e88c9811fd79ff9314e053977
> Author: Erik Skultety <eskultet at redhat.com>
> Date: Wed Dec 3 13:56:47 2014 +0100
>
> qemu: Fix virsh freeze when blockcopy storage file is removed
>
> If someone removes blockcopy storage file when still in mirroring phase
> and then requesting blockjob abort using pivot, virsh cmd freezes. This
> is not an issue with older qemu versions which did not support
> asynchronous jobs (which we prefer by default).
> As we have reached the mirroring phase successfully, polling monitor for
> blockjob info always returns 1 and the loop never ends.
> This fix introduces a check for qemuDomainBlockPivot return code,
> possibly
> skipping the asynchronous waiting completely, if an error occurred and
> asynchronous waiting was the preferred method.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1139567
>
>
Thanks Eric. I can confirm this is corrected in 1.2.11 now.
More information about the libvir-list
mailing list