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: bd61e0a9c8
("locks: convert posix locks to file_lock_context")
Cc: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
@@ -1223,7 +1223,7 @@ static int nfs_can_extend_write(struct file *file, struct page *page, struct ino
|
|||||||
return 1;
|
return 1;
|
||||||
if (!flctx || (list_empty_careful(&flctx->flc_flock) &&
|
if (!flctx || (list_empty_careful(&flctx->flc_flock) &&
|
||||||
list_empty_careful(&flctx->flc_posix)))
|
list_empty_careful(&flctx->flc_posix)))
|
||||||
return 0;
|
return 1;
|
||||||
|
|
||||||
/* Check to see if there are whole file write locks */
|
/* Check to see if there are whole file write locks */
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
Reference in New Issue
Block a user