summaryrefslogtreecommitdiff
path: root/fs/nfs/pagelist.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2023-01-20 00:33:34 +0300
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2023-02-14 22:22:32 +0300
commit785207aa3d61ec1cb86e4441bff0a37c412ebd10 (patch)
tree4d5b49546de7ccb23560dba9aedb8203108bb3a2 /fs/nfs/pagelist.c
parentceaa837f96adb69c0df0397937cd74991d5d821a (diff)
downloadlinux-785207aa3d61ec1cb86e4441bff0a37c412ebd10.tar.xz
NFS: Fix for xfstests generic/208
If the same page and data is being used for multiple requests, then ignore that when the request indicates we're reading from the start of the page. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/pagelist.c')
-rw-r--r--fs/nfs/pagelist.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
index 16be6dae524f..369e4553399a 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -920,6 +920,9 @@ int nfs_generic_pgio(struct nfs_pageio_descriptor *desc,
req = nfs_list_entry(head->next);
nfs_list_move_request(req, &hdr->pages);
+ if (req->wb_pgbase == 0)
+ last_page = NULL;
+
if (!last_page || last_page != req->wb_page) {
pageused++;
if (pageused > pagecount)