On Fri, Nov 19, 2010 at 02:24:59PM -0500, Trond Myklebust wrote: > On Thu, 2010-11-18 at 15:34 -0800, Moazam Raja wrote: > > Hi all, > > > > I'm currently exporting a ZFS filesystem on Solaris 11 Express as NFS. > > I have a Linux client mounting that NFS v3 filesystem with the > > proto=tcp option. > > > > My question is, what's the safest and most reliable way to write data > > to this NFS mount on a Linux client? Should my application code use > > O_DIRECT, or O_SYNC? Or should I be doing a write() and a fsync()? I > > want to make sure that data is not lost and is truly committed, while > > keeping decent performance (of course). > > Any one of the above methods will ensure that the data is synced to > disk. In addition, NFS also guarantees that your data is fully synced to > disk when taking/freeing POSIX locks, and when you close() the file. Is the client still doing that in the presence of a write delegation, by the way? --b. > > The choice of one method over the other depends on your application > requirements. Not on your choice of underlying storage. > > Trond > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html