[PATCH 0/3] netfs: Miscellaneous fixes
David Howells
dhowells at redhat.com
Thu Feb 13 09:23:58 AEDT 2025
Hi Christian,
Here are some miscellaneous fixes and changes for netfslib, if you could
pull them:
(1) Fix a number of read-retry hangs, including:
(a) Incorrect getting/putting of references on subreqs as we retry
them.
(b) Failure to track whether a last old subrequest in a retried set is
superfluous.
(c) Inconsistency in the usage of wait queues used for subrequests
(ie. using clear_and_wake_up_bit() whilst waiting on a private
waitqueue).
(Note that waitqueue consistency also needs looking at for
netfs_io_request structs.)
(2) Add stats counters for retries and publish in /proc/fs/netfs/stats.
This is not a fix per se, but is useful in debugging and shouldn't
otherwise change the operation of the code.
(3) Fix the ordering of queuing subrequests with respect to setting the
request flag that says we've now queued them all.
The patches can also be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-fixes
Thanks,
David
David Howells (3):
netfs: Fix a number of read-retry hangs
netfs: Add retry stat counters
netfs: Fix setting NETFS_RREQ_ALL_QUEUED to be after all subreqs
queued
fs/netfs/buffered_read.c | 19 +++++++++++-----
fs/netfs/internal.h | 4 ++++
fs/netfs/read_collect.c | 6 +++--
fs/netfs/read_retry.c | 43 +++++++++++++++++++++++++++---------
fs/netfs/stats.c | 9 ++++++++
fs/netfs/write_issue.c | 1 +
fs/netfs/write_retry.c | 2 ++
include/linux/netfs.h | 2 +-
include/trace/events/netfs.h | 4 +++-
9 files changed, 70 insertions(+), 20 deletions(-)
More information about the Linux-erofs
mailing list