netfs: Drop the was_async arg from netfs_read_subreq_terminated()
authorDavid Howells <dhowells@redhat.com>
Mon, 16 Dec 2024 20:40:59 +0000 (20:40 +0000)
committerChristian Brauner <brauner@kernel.org>
Fri, 20 Dec 2024 21:34:03 +0000 (22:34 +0100)
commit31fc366aa7aa911ebc0744e99c82caee4e97315a
treeda5073dea2d87d035032b94ecf573ebb53c894c1
parent360157829ee3dba848ffa817792d9a07969e0a95
netfs: Drop the was_async arg from netfs_read_subreq_terminated()

Drop the was_async argument from netfs_read_subreq_terminated().  Almost
every caller is either in process context and passes false.  Some
filesystems delegate the call to a workqueue to avoid doing the work in
their network message queue parsing thread.

The only exception is netfs_cache_read_terminated() which handles
completion in the cache - which is usually a callback from the backing
filesystem in softirq context, though it can be from process context if an
error occurred.  In this case, delegate to a workqueue.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/CAHk-=wiVC5Cgyz6QKXFu6fTaA6h4CjexDR-OV9kL6Vo5x9v8=A@mail.gmail.com/
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20241216204124.3752367-10-dhowells@redhat.com
cc: Jeff Layton <jlayton@kernel.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
15 files changed:
fs/9p/vfs_addr.c
fs/afs/file.c
fs/afs/fsclient.c
fs/afs/yfsclient.c
fs/ceph/addr.c
fs/netfs/buffered_read.c
fs/netfs/direct_read.c
fs/netfs/internal.h
fs/netfs/objects.c
fs/netfs/read_collect.c
fs/netfs/read_retry.c
fs/nfs/fscache.c
fs/nfs/fscache.h
fs/smb/client/file.c
include/linux/netfs.h