All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Fix a few error paths in nfs_readpage and fscache
@ 2021-06-28 17:38 Dave Wysochanski
  2021-06-28 17:39 ` [PATCH 1/4] NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() Dave Wysochanski
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Dave Wysochanski @ 2021-06-28 17:38 UTC (permalink / raw)
  To: Trond Myklebust, Anna Schumaker; +Cc: linux-nfs

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


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2021-06-29 15:54 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 17:38 [PATCH 0/4] Fix a few error paths in nfs_readpage and fscache Dave Wysochanski
2021-06-28 17:39 ` [PATCH 1/4] NFS: Remove unnecessary inode parameter from nfs_pageio_complete_read() Dave Wysochanski
2021-06-28 17:39 ` [PATCH 2/4] NFS: Ensure nfs_readpage returns promptly when internal error occurs Dave Wysochanski
2021-06-28 19:17   ` Trond Myklebust
2021-06-28 20:00     ` David Wysochanski
2021-06-28 22:00       ` Trond Myklebust
2021-06-28 17:39 ` [PATCH 3/4] NFS: Allow internal use of read structs and functions Dave Wysochanski
2021-06-28 17:39 ` [PATCH 4/4] NFS: Fix fscache read from NFS after cache error Dave Wysochanski
2021-06-28 19:09   ` Trond Myklebust
2021-06-28 20:15     ` David Wysochanski
2021-06-28 21:12     ` David Wysochanski
2021-06-28 21:59       ` Trond Myklebust
2021-06-28 23:46         ` David Wysochanski
2021-06-29  0:39           ` Trond Myklebust
2021-06-29  9:17             ` David Wysochanski
2021-06-29 12:45               ` Trond Myklebust
2021-06-29 13:20                 ` David Wysochanski
2021-06-29 14:54                   ` Trond Myklebust
2021-06-29 15:29                     ` David Wysochanski
2021-06-29 15:50                       ` Trond Myklebust
2021-06-29 15:54                         ` Trond Myklebust

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.