[libvirt] [PATCH] qemu: fix domjobabort regression

Daniel Veillard veillard at redhat.com
Thu Nov 10 07:02:32 UTC 2011


On Wed, Nov 09, 2011 at 09:29:23AM -0700, Eric Blake wrote:
> This reverts commit ef1065cf5ac; see also this bug report:
> https://bugzilla.redhat.com/show_bug.cgi?id=751900
> 
> In qemu 0.15.1 and earlier, during migration to file, the
> qemu_savevm_state_begin and qemu_savevm_state_iterate methods
> will both process as much migration data as possible until either
> 
>   1. The file descriptor returns EAGAIN
>   2. The bandwidth rate limit is reached
> 
> If we set the rate limit to ULONG_MAX, test 2 never becomes true. We're
> passing a plain file descriptor to QEMU and POSIX does not support EAGAIN on
> regular files / block devices, so test 1 never becomes true either.
> 
> In the 'virsh save --bypass-cache' case, we pass a pipe instead of a
> regular fd, but using a pipe adds I/O overhead, so always passing a
> pipe just so qemu can see EAGAIN doesn't seem nice.
> 
> The ultimate fix needs to come from qemu - background migration must

  ACK, it's a bit of a shame, but until we have a fix, it's more
important to be able to abort a save to disk than to be able to save
at a speed of more than 32MB/s (if the storage system support this)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list