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@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list