Linux XFS filesystem development
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Carlos Maiolino <cem@kernel.org>, linux-xfs@vger.kernel.org
Subject: Re: remove struct xfs_inode.i_ino
Date: Thu, 28 May 2026 21:33:13 -0700	[thread overview]
Message-ID: <20260529043313.GL6078@frogsfrogsfrogs> (raw)
In-Reply-To: <20260528052444.GK6078@frogsfrogsfrogs>

On Wed, May 27, 2026 at 10:24:44PM -0700, Darrick J. Wong wrote:
> On Fri, May 15, 2026 at 03:50:21PM +0200, Christoph Hellwig wrote:
> > Hi all,
> > 
> > now that the VFS inode i_ino field is always a u64, there is no need
> > to duplicate the inode number in the XFS inode.
> > 
> > This series first adds a few helpers to reduce i_ino reference, and
> > then switches the rest of the code over.  A new I_INO helper is added
> > to shorten the dereference and to make userspace porting easier.
> > 
> > After this and the rw_semaphore shrink that went into 7.1-rc, it might
> > be time to look into re-packing the xfs_inode, but that is left for
> > another series.
> 
> Mechanically these patches all look ok to me, aside from my question
> about why not use static inline helpers instead of macros.

...and now that you've answered those questions, I'm satisfied that this
series is all good to go (to the QA system for further testing), so:

Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> --D
> 
> > Diffstat:
> >  libxfs/xfs_attr.c             |    2 
> >  libxfs/xfs_attr_leaf.c        |    2 
> >  libxfs/xfs_bmap.c             |   20 ++----
> >  libxfs/xfs_bmap_btree.c       |    8 +-
> >  libxfs/xfs_btree.c            |   18 ++---
> >  libxfs/xfs_btree_staging.c    |    2 
> >  libxfs/xfs_da_btree.c         |    2 
> >  libxfs/xfs_dir2.c             |   44 +++++++-------
> >  libxfs/xfs_dir2_node.c        |    2 
> >  libxfs/xfs_dir2_sf.c          |    4 -
> >  libxfs/xfs_exchmaps.c         |    8 +-
> >  libxfs/xfs_format.h           |    6 +
> >  libxfs/xfs_ialloc.c           |    4 -
> >  libxfs/xfs_inode_buf.c        |    4 -
> >  libxfs/xfs_inode_fork.c       |    6 -
> >  libxfs/xfs_inode_util.c       |   13 +---
> >  libxfs/xfs_metadir.c          |    2 
> >  libxfs/xfs_parent.c           |    8 +-
> >  libxfs/xfs_parent.h           |    2 
> >  libxfs/xfs_rmap.c             |    6 -
> >  libxfs/xfs_rmap.h             |    4 +
> >  libxfs/xfs_rtbitmap.c         |    4 -
> >  libxfs/xfs_rtrefcount_btree.c |    4 -
> >  libxfs/xfs_rtrmap_btree.c     |    4 -
> >  libxfs/xfs_symlink_remote.c   |    6 -
> >  scrub/agheader_repair.c       |   20 ++----
> >  scrub/attr.c                  |    4 -
> >  scrub/attr_repair.c           |   16 ++---
> >  scrub/bmap.c                  |   24 +++----
> >  scrub/bmap_repair.c           |    8 +-
> >  scrub/common.c                |   26 ++++----
> >  scrub/common.h                |    6 +
> >  scrub/cow_repair.c            |    3 
> >  scrub/dabtree.c               |    4 -
> >  scrub/dir.c                   |   24 +++----
> >  scrub/dir_repair.c            |   42 ++++++-------
> >  scrub/dirtree.c               |   24 +++----
> >  scrub/dirtree_repair.c        |    4 -
> >  scrub/findparent.c            |   33 +++++-----
> >  scrub/inode.c                 |   18 ++---
> >  scrub/inode_repair.c          |    5 -
> >  scrub/iscan.c                 |    2 
> >  scrub/listxattr.c             |   10 +--
> >  scrub/metapath.c              |   16 ++---
> >  scrub/newbt.c                 |    8 --
> >  scrub/nlinks.c                |   34 +++++------
> >  scrub/nlinks_repair.c         |    6 -
> >  scrub/orphanage.c             |   10 +--
> >  scrub/parent.c                |   31 ++++------
> >  scrub/parent_repair.c         |   18 ++---
> >  scrub/quotacheck.c            |    2 
> >  scrub/readdir.c               |   12 +--
> >  scrub/reap.c                  |    5 -
> >  scrub/repair.c                |    2 
> >  scrub/rmap_repair.c           |    2 
> >  scrub/rtbitmap.c              |   16 ++---
> >  scrub/rtbitmap_repair.c       |    2 
> >  scrub/rtrefcount.c            |    2 
> >  scrub/rtrefcount_repair.c     |    2 
> >  scrub/rtrmap.c                |    3 
> >  scrub/rtrmap_repair.c         |    4 -
> >  scrub/rtsummary.c             |   14 ++--
> >  scrub/rtsummary_repair.c      |    2 
> >  scrub/scrub.c                 |    2 
> >  scrub/symlink_repair.c        |    8 +-
> >  scrub/tempfile.c              |    2 
> >  scrub/trace.c                 |    2 
> >  scrub/trace.h                 |  116 ++++++++++++++++++-------------------
> >  xfs_aops.c                    |    2 
> >  xfs_attr_item.c               |    4 -
> >  xfs_attr_list.c               |   12 +--
> >  xfs_bmap_item.c               |    4 -
> >  xfs_bmap_util.c               |    4 -
> >  xfs_dir2_readdir.c            |    4 -
> >  xfs_error.c                   |    2 
> >  xfs_exchmaps_item.c           |    4 -
> >  xfs_exchrange.c               |    4 -
> >  xfs_export.c                  |    8 +-
> >  xfs_filestream.c              |    6 -
> >  xfs_handle.c                  |    4 -
> >  xfs_healthmon.c               |    6 -
> >  xfs_icache.c                  |   56 +++++++++---------
> >  xfs_inode.c                   |   37 +++++-------
> >  xfs_inode.h                   |   19 ++----
> >  xfs_inode_item.c              |    8 +-
> >  xfs_inode_item_recover.c      |    4 -
> >  xfs_ioctl.c                   |    2 
> >  xfs_iomap.c                   |    4 -
> >  xfs_iops.c                    |    3 
> >  xfs_iunlink_item.c            |    2 
> >  xfs_mount.c                   |    2 
> >  xfs_qm.c                      |   10 +--
> >  xfs_quotaops.c                |    2 
> >  xfs_reflink.c                 |    4 -
> >  xfs_symlink.c                 |    6 -
> >  xfs_trace.h                   |  129 ++++++++++++++++++++----------------------
> >  xfs_trans.c                   |    2 
> >  xfs_trans_dquot.c             |    6 -
> >  xfs_xattr.c                   |    2 
> >  99 files changed, 564 insertions(+), 577 deletions(-)
> > 
> 

      reply	other threads:[~2026-05-29  4:33 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-15 13:50 remove struct xfs_inode.i_ino Christoph Hellwig
2026-05-15 13:50 ` [PATCH 1/9] xfs: add a XFS_INODE_TO_AGNO helper Christoph Hellwig
2026-05-18  9:21   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 2/9] xfs: add a XFS_INODE_TO_AGINO helper Christoph Hellwig
2026-05-18 11:04   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 3/9] xfs: add a XFS_INO_TO_FSB helper Christoph Hellwig
2026-05-18 11:06   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 4/9] xfs: add a xfs_rmap_inode_bmbt_owner Christoph Hellwig
2026-05-18 11:14   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 5/9] xfs: add a xfs_rmap_inode_owner helper Christoph Hellwig
2026-05-18 11:14   ` Carlos Maiolino
2026-05-18 13:16     ` Christoph Hellwig
2026-05-18 13:23       ` Carlos Maiolino
2026-05-18 13:28         ` Christoph Hellwig
2026-05-28  5:23       ` Darrick J. Wong
2026-05-28  8:28         ` Christoph Hellwig
2026-05-18 11:23   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 6/9] xfs: add a xchk_ip_set_corrupt helper Christoph Hellwig
2026-05-18 11:22   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 7/9] xfs: convert xchk_inode_xref_set_corrupt to xchk_ip_xref_set_corrupt Christoph Hellwig
2026-05-18 11:17   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 8/9] xfs: remove xfs_setup_existing_inode Christoph Hellwig
2026-05-18 11:18   ` Carlos Maiolino
2026-05-15 13:50 ` [PATCH 9/9] xfs: remove the i_ino field in struct xfs_inode Christoph Hellwig
2026-05-18 11:43   ` Carlos Maiolino
2026-05-28  5:24 ` remove struct xfs_inode.i_ino Darrick J. Wong
2026-05-29  4:33   ` Darrick J. Wong [this message]

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=20260529043313.GL6078@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=cem@kernel.org \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.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