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

Laine Stump laine at laine.org
Tue Jul 20 14:28:35 UTC 2010

  On 07/19/2010 07:16 PM, Eric Blake wrote:
> 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.

Thanks. Pushed.

More information about the libvir-list mailing list