[libvirt] [PATCH] qemu: fix domjobabort regression

Jim Fehlig jfehlig at suse.com
Thu Nov 10 23:43:03 UTC 2011



Daniel Veillard wrote:
> 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)
>   

Agreed.

BTW, I don't have access to the bug to see details, but I think I
understand given Eric's description.

Jim




More information about the libvir-list mailing list