Linux XFS filesystem development
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Carlos Maiolino <cem@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: remove struct xfs_inode.i_ino
Date: Fri, 15 May 2026 15:50:21 +0200	[thread overview]
Message-ID: <20260515135103.4042407-1-hch@lst.de> (raw)

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.

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-15 13:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-15 13:50 Christoph Hellwig [this message]
2026-05-15 13:50 ` [PATCH 1/9] xfs: add a XFS_INODE_TO_AGNO helper Christoph Hellwig
2026-05-15 13:50 ` [PATCH 2/9] xfs: add a XFS_INODE_TO_AGINO helper Christoph Hellwig
2026-05-15 13:50 ` [PATCH 3/9] xfs: add a XFS_INO_TO_FSB helper Christoph Hellwig
2026-05-15 13:50 ` [PATCH 4/9] xfs: add a xfs_rmap_inode_bmbt_owner Christoph Hellwig
2026-05-15 13:50 ` [PATCH 5/9] xfs: add a xfs_rmap_inode_owner helper Christoph Hellwig
2026-05-15 13:50 ` [PATCH 6/9] xfs: add a xchk_ip_set_corrupt helper Christoph Hellwig
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-15 13:50 ` [PATCH 8/9] xfs: remove xfs_setup_existing_inode Christoph Hellwig
2026-05-15 13:50 ` [PATCH 9/9] xfs: remove the i_ino field in struct xfs_inode Christoph Hellwig

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=20260515135103.4042407-1-hch@lst.de \
    --to=hch@lst.de \
    --cc=cem@kernel.org \
    --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