[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250212222402.3618494-1-dhowells@redhat.com>
Date: Wed, 12 Feb 2025 22:23:58 +0000
From: David Howells <dhowells@...hat.com>
To: Christian Brauner <christian@...uner.io>
Cc: David Howells <dhowells@...hat.com>,
Ihor Solodrai <ihor.solodrai@...ux.dev>,
Max Kellermann <max.kellermann@...os.com>,
Steve French <sfrench@...ba.org>,
Marc Dionne <marc.dionne@...istor.com>,
Jeff Layton <jlayton@...nel.org>,
Paulo Alcantara <pc@...guebit.com>,
Tom Talpey <tom@...pey.com>,
Eric Van Hensbergen <ericvh@...nel.org>,
Dominique Martinet <asmadeus@...ewreck.org>,
netfs@...ts.linux.dev,
linux-afs@...ts.infradead.org,
linux-cifs@...r.kernel.org,
linux-nfs@...r.kernel.org,
ceph-devel@...r.kernel.org,
v9fs@...ts.linux.dev,
linux-erofs@...ts.ozlabs.org,
linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/3] netfs: Miscellaneous fixes
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(-)
Powered by blists - more mailing lists