[libvirt] [PATCH] Create raw storage files with O_DSYNC (again)

Jiri Denemark jdenemar at redhat.com
Mon Feb 22 13:56:44 UTC 2010


> > Recently we introduced O_DYSNC flag when creating raw storage files to
> > avoid filling all disk cache with dirty pages. However, the patch got
> > lost when virStorageBackendCreateRaw was reworked using
> > virFileOperation. Let's use O_DYSNC again.
> > 
> > diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
> > index 8b9ed5d..3742493 100644
> > --- a/src/storage/storage_backend.c
> > +++ b/src/storage/storage_backend.c
> > @@ -356,7 +356,8 @@ virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
> >          goto cleanup;
> >      }
> >  
> > -    if ((createstat = virFileOperation(vol->target.path, O_RDWR | O_CREAT | O_EXCL,
> > +    if ((createstat = virFileOperation(vol->target.path,
> > +                                       O_RDWR | O_CREAT | O_EXCL | O_DSYNC,
> >                                         vol->target.perms.mode,
> >                                         vol->target.perms.uid, vol->target.perms.gid,
> >                                         createRawFileOpHook, &hdata,
> 
>  Ah, right, ACK !
> 
> Please push :-)

Thanks, pushed. I also fixed O_DYSNC typos in patch comment before pushing.

Jirka




More information about the libvir-list mailing list