]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete()
authorBenjamin Coddington <bcodding@redhat.com>
Fri, 14 Apr 2017 16:29:54 +0000 (12:29 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 20 Apr 2017 17:49:22 +0000 (13:49 -0400)
commit5d5748489b5300f9443fb85fcd2d48d3641c3526
treed8bc5a59d8115984e0dee48a0551230fc2be7ec0
parente08e97242e7479145488f725c41c0d614ac9e385
NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete()

Commit 83640929b2cac07a76c12d5d651b2f0f668bc3d2 ("nfs: add mirroring
support to pgio layer") moved pg_cleanup out of the path when there was
non-sequental I/O that needed to be flushed.  The result is that for
layouts that have more than one layout segment per file, the pg_lseg is not
cleared, so we can end up hitting the WARN_ON_ONCE(req_start >= seg_end) in
pnfs_generic_pg_test since the pg_lseg will be pointing to that
previously-flushed layout segment.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Fixes: 83640929b2ca ("nfs: add mirroring support to pgio layer")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/pagelist.c