Linux filesystem development
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Christian Brauner <christian@brauner.io>
Cc: David Howells <dhowells@redhat.com>,
	Paulo Alcantara <pc@manguebit.org>,
	Matthew Wilcox <willy@infradead.org>,
	Namjae Jeon <linkinjeon@kernel.org>,
	Marc Dionne <marc.dionne@auristor.com>,
	Stefan Metzmacher <metze@samba.org>,
	Eric Van Hensbergen <ericvh@kernel.org>,
	Dominique Martinet <asmadeus@codewreck.org>,
	Ilya Dryomov <idryomov@gmail.com>,
	netfs@lists.linux.dev, linux-afs@lists.infradead.org,
	linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org,
	ceph-devel@vger.kernel.org, v9fs@lists.linux.dev,
	linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v13 0/8] netfs: Miscellaneous preparatory changes
Date: Wed,  9 Sep 2026 08:20:54 +0100	[thread overview]
Message-ID: <20260909072105.1663687-1-dhowells@redhat.com> (raw)

Hi Christian,

Could you pull these patches please for -next?  This is the first of four
batches.  This is based on your vfs.fixes as there are some prerequisite
patches there.  This was split from v11 of a larger series[1].

This a collection of miscellaneous modifications to netfslib that I want to
make ahead of bigger changes, including:

 (1) Convert "unsigned long long" to "uoff_t".  This makes it a little more
     obvious as to the meaning of the value.  Also convert some "loff_t" to
     "uoff_t" as most of the time it's used the value really should never
     be negative.

 (2) Remove the writethrough code as the locking is really tricky to get
     right and it looks like it could deadlock with Ceph if snapshots are
     used.

 (3) Adjust some tracepoints, including adding the cache object ID to
     certain tracepoinits.

 (4) Make use of PG_private_2 opt-in.  Use of PG_private_2 is deprecated
     and the MM people would like their page bit back, so we need to stop
     using it soon.

 (5) Add some helper functions to handle the barriering needed for the
     NETFS_RREQ_ALL_QUEUED flag.

 (6) Set the subrequest type at allocation time so that the allocation
     trace records the proposed type.

The patches can also be found here:

	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-next-1

Thanks,
David

Changes
=======
ver #13)
- Fixed some sashiko-raised issues:
  - Fixed netfs_mark_copy_to_cache() to use netfs_using_pgpriv2() rather
    than checking NETFS_RREQ_USE_PGPRIV2.
  - Fixed netfs_all_subreqs_queued() to do smp_mb__after_atomic() after
    setting the NETFS_RREQ_ALL_QUEUED bit.
  - Fixed netfs_single_dispatch_read() to not immediately contradict its
    own initialisation of subreq->source.

ver #12)
- Split from v11 of "netfs: Keep track of folios in a segmented bio_vec[]
  chain"[1]

[1] https://lore.kernel.org/r/20260902173350.3468672-1-dhowells@redhat.com/
[2] https://sashiko.dev/#/patchset/20260908091031.1506798-1-dhowells%40redhat.com

David Howells (8):
  netfs: Use uoff_t instead of unsigned long long and loff_t
  netfs: Remove the writethrough code
  netfs: trace: Change the "clear" folio traces to "endwb"
  netfs: trace: Rejig a couple of the tracepoints
  netfs: Add the cache object ID to netfs_read/write tracepoints
  netfs: Make deprecated PG_private_2 support opt-in
  netfs: Add some functions to wrap the all-queued handling
  netfs: Set subrequest->source at alloc before trace emission

 fs/9p/vfs_addr.c                  |   1 -
 fs/afs/file.c                     |   5 +-
 fs/cachefiles/interface.c         |  10 +--
 fs/cachefiles/internal.h          |   4 +-
 fs/cachefiles/io.c                |  25 +++---
 fs/ceph/Kconfig                   |   1 +
 fs/ceph/addr.c                    |   4 +-
 fs/netfs/Kconfig                  |   3 +
 fs/netfs/Makefile                 |   2 +-
 fs/netfs/buffered_read.c          |  37 ++++-----
 fs/netfs/buffered_write.c         |  66 +++------------
 fs/netfs/direct_read.c            |  14 ++--
 fs/netfs/direct_write.c           |   8 +-
 fs/netfs/fscache_cookie.c         |   8 +-
 fs/netfs/fscache_io.c             |  10 +--
 fs/netfs/internal.h               |  68 ++++++++++++---
 fs/netfs/iterator.c               |   2 +-
 fs/netfs/main.c                   |   1 -
 fs/netfs/misc.c                   |  10 +--
 fs/netfs/objects.c                |   6 +-
 fs/netfs/read_collect.c           |  14 ++--
 fs/netfs/read_pgpriv2.c           |  13 ++-
 fs/netfs/read_retry.c             |   5 +-
 fs/netfs/read_single.c            |  12 +--
 fs/netfs/stats.c                  |   4 +-
 fs/netfs/write_collect.c          |  25 +++---
 fs/netfs/write_issue.c            | 123 ++-------------------------
 fs/netfs/write_retry.c            |   5 +-
 fs/nfs/Kconfig                    |   1 +
 include/linux/fscache-cache.h     |   2 +-
 include/linux/fscache.h           |  36 ++++----
 include/linux/netfs.h             |  80 +++++++++---------
 include/trace/events/cachefiles.h |  30 +++----
 include/trace/events/fscache.h    |  10 +--
 include/trace/events/netfs.h      | 134 +++++++++++++++---------------
 35 files changed, 326 insertions(+), 453 deletions(-)


             reply	other threads:[~2026-09-09  7:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09  7:20 David Howells [this message]
2026-09-09  7:20 ` [PATCH v13 1/8] netfs: Use uoff_t instead of unsigned long long and loff_t David Howells
2026-09-09  7:20 ` [PATCH v13 2/8] netfs: Remove the writethrough code David Howells
2026-09-09  7:20 ` [PATCH v13 3/8] netfs: trace: Change the "clear" folio traces to "endwb" David Howells
2026-09-09  7:20 ` [PATCH v13 4/8] netfs: trace: Rejig a couple of the tracepoints David Howells
2026-09-09  7:20 ` [PATCH v13 5/8] netfs: Add the cache object ID to netfs_read/write tracepoints David Howells
2026-09-09  7:21 ` [PATCH v13 6/8] netfs: Make deprecated PG_private_2 support opt-in David Howells
2026-09-09  7:21 ` [PATCH v13 7/8] netfs: Add some functions to wrap the all-queued handling David Howells
2026-09-09  7:21 ` [PATCH v13 8/8] netfs: Set subrequest->source at alloc before trace emission David Howells
2026-09-09 21:02   ` Paulo Alcantara
2026-09-10  8:11 ` [PATCH v13 0/8] netfs: Miscellaneous preparatory changes Christian Brauner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260909072105.1663687-1-dhowells@redhat.com \
    --to=dhowells@redhat.com \
    --cc=asmadeus@codewreck.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=christian@brauner.io \
    --cc=ericvh@kernel.org \
    --cc=idryomov@gmail.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=marc.dionne@auristor.com \
    --cc=metze@samba.org \
    --cc=netfs@lists.linux.dev \
    --cc=pc@manguebit.org \
    --cc=v9fs@lists.linux.dev \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox