The high order bit here is that 

        write();
        write();
        fsync();

can be   executed  using a single   I/O  latency (during the
fsync) whereas  using  O_*DSYNC, will require  2 I/O latency
(one for each write).

-r

Neil Perrin writes:
 > As far as zfs performance is concerned, O_DSYNC and O_SYNC are equivalent.
 > This is because, zfs saves all posix layer transactions (eg WRITE,
 > SETATTR, RENAME...) in the log. So both meta data and data is always
 > re-created if a replay is needed.
 > 
 > Anton B. Rang wrote On 10/12/06 15:42,:
 > > fsync() should theoretically be better because O_SYNC requires that each 
 > > write() include writing not only the data but also the inode and all 
 > > indirect blocks back to the disk.
 > >  
 > >  
 > > This message posted from opensolaris.org
 > > _______________________________________________
 > > zfs-discuss mailing list
 > > zfs-discuss@opensolaris.org
 > > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
 > _______________________________________________
 > zfs-discuss mailing list
 > zfs-discuss@opensolaris.org
 > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to