A prior patchset refactored some nfs read code paths but introduced a few problems in some error paths. This patcheset cleans up these error paths specifically the following commit: 1e83b173b266 ("NFS: Add nfs_pageio_complete_read() and remove nfs_readpage_async()") The last patch fixes a bug introduced in the above commit, and when fscache is enabled and an unlikely error occurs. The first 3 patches are refactorings / cleanups and while they do not fix any actual bug to my knowledge, they are required for the 4th patch. NOTE: The first patch was submitted prior as a solo patch[1], it is included here unchanged from that submission. [1] https://marc.info/?l=linux-nfs&m=162454885107812&w=2 Testing ======= I applied this series on top of Trond's testing tree based on 5.13-rc6 and at: 159dd33001be Merge branch 'sysfs-devel' scripts/checkpatch.pl was run on all patches and no warnings or errors. For unit tests of these specific code paths I created custom error injection to induce failures. For regression, I ran iterations of xfstests with different servers and all NFS versions (4.2, 4.1, 4.0, 3), including pNFS (flexfiles,filelayout), and didn't see any new failures. Dave Wysochanski (4): NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() NFS: Ensure nfs_readpage does not wait an internal error occurs NFS: Allow internal use of read structs and functions NFS: Fix fscache read from NFS after cache error fs/nfs/fscache.c | 14 ++++++++++++-- fs/nfs/internal.h | 7 +++++++ fs/nfs/read.c | 39 ++++++++++++++++++--------------------- 3 files changed, 37 insertions(+), 23 deletions(-) -- 1.8.3.1