[libvirt] [PATCH] Create raw storage files with O_DSYNC

Jiri Denemark jdenemar at redhat.com
Tue Feb 9 16:00:20 UTC 2010


> > diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
> > index e79294a..8aab9ab 100644
> > --- a/src/storage/storage_backend.c
> > +++ b/src/storage/storage_backend.c
> > @@ -301,7 +301,7 @@ virStorageBackendCreateRaw(virConnectPtr conn,
> >          goto cleanup;
> >      }
> >  
> > -    if ((fd = open(vol->target.path, O_RDWR | O_EXCL)) < 0) {
> > +    if ((fd = open(vol->target.path, O_RDWR | O_EXCL | O_DSYNC)) < 0) {
> >          virReportSystemError(conn, errno,
> >                               _("cannot open new path '%s'"),
> >                               vol->target.path);
> > -- 
> 
> ACK,  O_DSYNC isn't ideal, but since there are soo many ways in which the
> file ends up being written, it is the simplest option to get what we need

Thanks. Rebased and pushed.

Jirka




More information about the libvir-list mailing list