On Thu, Aug 18, 2011 at 04:25:55PM +0200, Michal Privoznik wrote: > On 18.08.2011 15:55, Eric Blake wrote: > > On 08/18/2011 07:44 AM, Michal Privoznik wrote: > >> Although we are flushing cache after some critical writes (e.g. > >> volume creation), after some others we do not (e.g. volume cloning). > >> This patch fix this issue. That is for volume cloning, writing > >> header of logical volume, and storage wipe. > >> --- > >> src/storage/storage_backend.c | 8 ++++++++ > >> src/storage/storage_backend_logical.c | 7 +++++++ > >> src/storage/storage_driver.c | 8 ++++++++ > >> 3 files changed, 23 insertions(+), 0 deletions(-) > >> > >> diff --git a/src/storage/storage_backend.c > >> b/src/storage/storage_backend.c > >> index 6243d1e..889f530 100644 > >> --- a/src/storage/storage_backend.c > >> +++ b/src/storage/storage_backend.c > >> @@ -208,6 +208,14 @@ virStorageBackendCopyToFD(virStorageVolDefPtr vol, > >> } while ((amtleft -= interval)> 0); > >> } > >> > >> + if (fdatasync(fd)< 0) { > > > > Why fdatasync here, > Here we need to flush data but not metadata. > > > > > >> +++ b/src/storage/storage_backend_logical.c > >> @@ -424,6 +424,13 @@ virStorageBackendLogicalBuildPool(virConnectPtr > >> conn ATTRIBUTE_UNUSED, > >> VIR_FORCE_CLOSE(fd); > >> goto cleanup; > >> } > >> + if (fsync(fd)< 0) { > > > > but only fsync here? > > > Here we are accessing logical volume where we want to make sure anybody > (including LVM) will read data & metadata. thanks for the explanation, ACK then ! 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