NFS: fix subtle change in COMMIT behavior
authorWeston Andros Adamson <dros@primarydata.com>
Wed, 12 Nov 2014 17:08:00 +0000 (12:08 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 24 Nov 2014 22:00:42 +0000 (17:00 -0500)
commitcb1410c71e0b6b2eba8c1890645a76ff86169d24
tree22fb6770fed66df7d51676e25e5a525bdd352abe
parent6a74c0c9402b85647793da70edc9d6b097d54472
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>
fs/nfs/callback_proc.c
fs/nfs/inode.c
fs/nfs/pagelist.c
fs/nfs/write.c
include/linux/nfs_fs.h