On Thu, 2010-02-04 at 13:40 -0500, Christoph Hellwig wrote: > On Thu, Feb 04, 2010 at 01:38:00PM -0500, Trond Myklebust wrote: > > > Indeed, both write_inode_now and vfs_fsync will also cause data to > > > be written. But my understanding of nfsd is that we manage the data > > > writeout separately anyway and we care about the metadata here, which > > > the placement of these calls would suggest: > > > > > > - nfsd_setattr for attribute updates > > > - nfsd_create for creating a new file (of any type) > > > - nfsd_link for adding a new link > > > > Yes. Most operations in NFS are required to be synchronous (the only > > exception being "unstable" write requests), and so those > > fsync/write_inode_now calls are there in order to ensure that the > > metadata and/or directory contents that were changed hits the disk > > before the RPC call completes. > > Yeah. But currently both the fsync and write_inode_now calls will force > those unstable writes to disk. I'm not sure if that is an intentional > or unintentional side-effect of those metadata operations. Syncing the unstable writes before the client sends a COMMIT request is completely unnecessary. If we can avoid that, then that might indeed give a performance boost for some workloads. Cheers 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