[libvirt] [PATCH 2/2] fsync new storage volumes even if new volume was copied.

Eric Blake 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.

ACK.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20100719/c9416ae8/attachment-0001.sig>


More information about the libvir-list mailing list