Skip to content

RFC: Fix nfs_generic_pgio page vector issues

Weston Andros Adamson linux-nfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2nfs: disallow duplicate pages in pgio page vectorsfs/nfs/pagelist.c+19 -30 replies
2/2nfs: can_coalesce_requests must enforce contiguityfs/nfs/pagelist.c+8 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] RFC: Fix nfs_generic_pgio page vector issues

This patchset fixes a few issues with the creation of nfs_pageio_descriptor page vectors, which are passed to nfs_pgio_header structures.

These were first found by Toralf Förster <[email protected]> by running trinity, but I've since received a report of a real world usecase that hit a related issue: kvm with cache=none.

There are two problems that are closely related and seem to only be triggered by direct i/o writev()/readv() calls.

The fixes are:
- do not coalesce pages unless they are contiguous in file position *and* within / betwen pages.

- do not allow duplicated pages in the pagevector

I'm still testing these, but I thought I'd share what I have with the list.

-dros

Weston Andros Adamson (2):
nfs: disallow duplicate pages in pgio page vectors
nfs: can_coalesce_requests must enforce contiguity

 fs/nfs/pagelist.c | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)
Signature · 1 line
1.8.5.2 (Apple Git-48)