diff options
author | Weston Andros Adamson <dros@primarydata.com> | 2014-11-12 12:08:00 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-11-24 17:00:42 -0500 |
commit | cb1410c71e0b6b2eba8c1890645a76ff86169d24 (patch) | |
tree | 22fb6770fed66df7d51676e25e5a525bdd352abe /include | |
parent | 6a74c0c9402b85647793da70edc9d6b097d54472 (diff) | |
download | op-kernel-dev-cb1410c71e0b6b2eba8c1890645a76ff86169d24.zip op-kernel-dev-cb1410c71e0b6b2eba8c1890645a76ff86169d24.tar.gz |
NFS: fix subtle change in COMMIT behavior
Recent work in the pgio layer made it possible for there to be more than one
request per page. This caused a subtle change in commit behavior, because
write.c:nfs_commit_unstable_pages compares the number of *pages* waiting for
writeback against the number of requests on a commit list to choose when to
send a COMMIT in a non-blocking flush.
This is probably hard to hit in normal operation - you have to be using
rsize/wsize < PAGE_SIZE, or pnfs with lots of boundaries that are not page
aligned to have a noticeable change in behavior.
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_fs.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index c72d1ad..6d627b9 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -163,7 +163,7 @@ struct nfs_inode { */ __be32 cookieverf[2]; - unsigned long npages; + unsigned long nrequests; struct nfs_mds_commit_info commit_info; /* Open contexts for shared mmap writes */ @@ -520,7 +520,7 @@ extern void nfs_commit_free(struct nfs_commit_data *data); static inline int nfs_have_writebacks(struct inode *inode) { - return NFS_I(inode)->npages != 0; + return NFS_I(inode)->nrequests != 0; } /* |