Re: [PATCH][BUG]: Pure nfs client performance using odirect.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Nov 18, 2010, at 5:36 AM, Arun R Bharadwaj 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;

This looks reasonable, though I haven't looked closely at the surrounding code.  It's probably been in the code for a very long time.  I'm surprised no-one caught it sooner.

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]com




--
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


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux