linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/8] fs: clean up internal i_version handling
@ 2022-10-21 13:05 Jeff Layton
  2022-10-21 13:05 ` [PATCH v8 1/8] fs: uninline inode_query_iversion Jeff Layton
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Jeff Layton @ 2022-10-21 13:05 UTC (permalink / raw)
  To: tytso, adilger.kernel, djwong, david, trondmy, neilb, viro, zohar,
	xiubli, chuck.lever, lczerner, jack, bfields, brauner, fweimer
  Cc: linux-btrfs, linux-fsdevel, linux-kernel, ceph-devel, linux-ext4,
	linux-nfs, linux-xfs

The main consumer of i_version field (knfsd) has to jump through a
number of hoops to fetch it, depending on what sort of inode it is.
Rather than do this, we want to offload the responsibility for
presenting this field to the filesystem's ->getattr operation, which is
a more natural way to deal with a field that may be implemented
differently.

The focus of this patchset is to clean up these internal interfaces.
This should also make it simple to present this attribute to userland in
the future, which should be possible once the semantics are a bit more
consistent across different backing filesystems.

The change are fairly small, but they cross several subsystems. I'd
appreciate R-b's and A-b's from maintainers whose subsystems I'm
touching (Chuck, Al, Trond, and Xiubo in particular).

For now, I'm leaving out more siginificant behavioral changes to
i_version handling so that we can keep the focus on this set rather
narrow. The next stap is to get this into linux-next with an aim toward
merge in v6.2.

Thanks!

Jeff Layton (8):
  fs: uninline inode_query_iversion
  fs: clarify when the i_version counter must be updated
  vfs: plumb i_version handling into struct kstat
  nfs: report the inode version in getattr if requested
  ceph: report the inode version in getattr if requested
  nfsd: move nfsd4_change_attribute to nfsfh.c
  nfsd: use the getattr operation to fetch i_version
  nfsd: remove fetch_iversion export operation

 fs/ceph/inode.c          | 16 +++++++----
 fs/libfs.c               | 36 +++++++++++++++++++++++++
 fs/nfs/export.c          |  7 -----
 fs/nfs/inode.c           | 16 ++++++++---
 fs/nfsd/nfs4xdr.c        |  4 ++-
 fs/nfsd/nfsfh.c          | 42 +++++++++++++++++++++++++++++
 fs/nfsd/nfsfh.h          | 29 +-------------------
 fs/nfsd/vfs.h            |  7 ++++-
 fs/stat.c                | 17 ++++++++++--
 include/linux/exportfs.h |  1 -
 include/linux/iversion.h | 58 ++++++++++++++--------------------------
 include/linux/stat.h     |  9 +++++++
 12 files changed, 155 insertions(+), 87 deletions(-)

-- 
2.37.3


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

end of thread, other threads:[~2022-10-21 13:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-21 13:05 [PATCH v8 0/8] fs: clean up internal i_version handling Jeff Layton
2022-10-21 13:05 ` [PATCH v8 1/8] fs: uninline inode_query_iversion Jeff Layton
2022-10-21 13:05 ` [PATCH v8 2/8] fs: clarify when the i_version counter must be updated Jeff Layton
2022-10-21 13:05 ` [PATCH v8 3/8] vfs: plumb i_version handling into struct kstat Jeff Layton
2022-10-21 13:05 ` [PATCH v8 4/8] nfs: report the inode version in getattr if requested Jeff Layton
2022-10-21 13:05 ` [PATCH v8 5/8] ceph: " Jeff Layton
2022-10-21 13:06 ` [PATCH v8 6/8] nfsd: move nfsd4_change_attribute to nfsfh.c Jeff Layton
2022-10-21 13:06 ` [PATCH v8 7/8] nfsd: use the getattr operation to fetch i_version Jeff Layton
2022-10-21 13:06 ` [PATCH v8 8/8] nfsd: remove fetch_iversion export operation Jeff Layton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).