[libvirt] [PATCH 2/2] fsync new storage volumes even if new volume was copied.
eblake at redhat.com
Mon Jul 19 23:16:40 UTC 2010
On 07/19/2010 05:08 PM, Laine Stump wrote:
> Originally the storage volume files were opened with O_DSYNC to make
> sure they were flushed to disk immediately. It turned out that this
> was extremely slow in some cases, so the O_DSYNC was removed in favor
> of just calling fsync() after all the data had been written. However,
> this call to fsync was inside the block that is executed to zero-fill
> the end of the volume file. In cases where the new volume is copied
> from an old volume, and they are the same length, this fsync would
> never take place.
> Now the fsync is *always* done, unless there is an error (in which
> case it isn't important, and is most likely inappropriate.
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 619 bytes
Desc: OpenPGP digital signature
More information about the libvir-list