On 11/01/2012 08:54 AM, Eric Blake wrote: > On 11/01/2012 08:28 AM, Michal Privoznik wrote: >> Currently, when we are doing (managed) save, we insert the >> iohelper between the qemu and OS. The pipe is created, the >> writing end is passed to qemu and the reading end to the >> iohelper. It reads data and write them into given file. However, >> with write() being asynchronous data may still be in OS >> caches and hence in some (corner) cases, all migration data >> may have been read and written (not physically though). So >> qemu will report success, as well as iohelper. However, with >> some non local filesystems, where ENOSPACE is polled every X >> time units, we may get into situation where all operations >> succeeded but data hasn't reached the disk. And in fact will >> never do. Therefore we ought sync caches to make sure data >> has reached the block device on remote host. >> --- >> src/util/iohelper.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) > > ACK. Dan's comment about s/fsync/fdatasync/ in the subject line still apply, if you haven't already pushed. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list