From: Trond Myklebust Date: Thu, 1 Oct 2015 22:38:27 +0000 (-0400) Subject: NFS: Fix a write performance regression X-Git-Tag: submit/tizen/20160607.132125~1643^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8fa4592a14ebb3c22a21d846d1e4f65dab7d1a7c;p=sdk%2Femulator%2Femulator-kernel.git NFS: Fix a write performance regression If all other conditions in nfs_can_extend_write() are met, and there are no locks, then we should be able to assume close-to-open semantics and the ability to extend our write to cover the whole page. With this patch, the xfstests generic/074 test completes in 242s instead of >1400s on my test rig. Fixes: bd61e0a9c852 ("locks: convert posix locks to file_lock_context") Cc: Jeff Layton Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/write.c b/fs/nfs/write.c index cfa4776..75ab762 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -1223,7 +1223,7 @@ static int nfs_can_extend_write(struct file *file, struct page *page, struct ino return 1; if (!flctx || (list_empty_careful(&flctx->flc_flock) && list_empty_careful(&flctx->flc_posix))) - return 0; + return 1; /* Check to see if there are whole file write locks */ ret = 0;