On Thu, 18 Nov 2010 16:06:43 +0530 Arun R Bharadwaj <arun@xxxxxxxxxxxxxxxxxx> wrote: > Pure nfs client performance using odirect. > > When an application opens a file with O_DIRECT flag, if the size of > the data that is written is equal to wsize, the client sends a > WRITE RPC with stable flag set to UNSTABLE followed by a single > COMMIT RPC rather than sending a single WRITE RPC with the stable > flag set to FILE_SYNC. This a bug. > > Patch to fix this. > > Signed-off-by: Arun R Bharadwaj <arun@xxxxxxxxxxxxxxxxxx> > > Index: linux-2.6.36-rc7/fs/nfs/direct.c > =================================================================== > --- linux-2.6.36-rc7.orig/fs/nfs/direct.c 2010-11-18 15:53:15.904972002 +0530 > +++ linux-2.6.36-rc7/fs/nfs/direct.c 2010-11-18 15:54:01.184972001 +0530 > @@ -867,7 +867,7 @@ > goto out; > nfs_alloc_commit_data(dreq); > > - if (dreq->commit_data == NULL || count < wsize) > + if (dreq->commit_data == NULL || count <= wsize) > sync = NFS_FILE_SYNC; > > dreq->inode = inode; > -- > 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 Looks right to me. Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx> -- 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