]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: add a XFS_INO_TO_FSB helper
authorChristoph Hellwig <hch@lst.de>
Fri, 15 May 2026 13:50:24 +0000 (15:50 +0200)
committerCarlos Maiolino <cem@kernel.org>
Tue, 9 Jun 2026 07:14:41 +0000 (09:14 +0200)
Add a shortcut for the common XFS_INO_TO_FSB(mp, ip->i_ino) pattern.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_format.h
fs/xfs/scrub/cow_repair.c
fs/xfs/scrub/newbt.c
fs/xfs/scrub/trace.c

index 7a4c8f1aa76c454e5ad2f6002b72f51e48cd7f30..a11a8aee5b794c20b9c3ceb813666fb69713ee59 100644 (file)
@@ -681,8 +681,7 @@ xfs_bmap_extents_to_btree(
        args.minlen = args.maxlen = args.prod = 1;
        args.wasdel = wasdel;
        *logflagsp = 0;
-       error = xfs_alloc_vextent_start_ag(&args,
-                               XFS_INO_TO_FSB(mp, ip->i_ino));
+       error = xfs_alloc_vextent_start_ag(&args, XFS_INODE_TO_FSB(ip));
        if (error)
                goto out_root_realloc;
 
@@ -828,8 +827,7 @@ xfs_bmap_local_to_extents(
         */
        args.total = total;
        args.minlen = args.maxlen = args.prod = 1;
-       error = xfs_alloc_vextent_start_ag(&args,
-                       XFS_INO_TO_FSB(args.mp, ip->i_ino));
+       error = xfs_alloc_vextent_start_ag(&args, XFS_INODE_TO_FSB(ip));
        if (error)
                goto done;
 
@@ -3590,7 +3588,7 @@ xfs_bmap_btalloc_best_length(
        xfs_extlen_t            blen = 0;
        int                     error;
 
-       ap->blkno = XFS_INO_TO_FSB(args->mp, ap->ip->i_ino);
+       ap->blkno = XFS_INODE_TO_FSB(ap->ip);
        if (!xfs_bmap_adjacent(ap))
                ap->eof = false;
 
index 7012f3570c8dff9ebfc6006e874e3dfa24bf3763..71d65f2fa005a2d78d4b2dd955c74f434f0bc4ba 100644 (file)
@@ -3243,8 +3243,7 @@ xfs_btree_new_iroot(
        if (level > 0)
                aptr = *xfs_btree_ptr_addr(cur, 1, block);
        else
-               aptr.l = cpu_to_be64(XFS_INO_TO_FSB(cur->bc_mp,
-                               cur->bc_ino.ip->i_ino));
+               aptr.l = cpu_to_be64(XFS_INODE_TO_FSB(cur->bc_ino.ip));
 
        /* Allocate the new block. If we can't do it, we're toast. Give up. */
        error = xfs_btree_alloc_block(cur, &aptr, &nptr, stat);
@@ -5609,8 +5608,7 @@ xfs_btree_alloc_metafile_block(
        ASSERT(xfs_is_metadir_inode(ip));
 
        xfs_rmap_ino_bmbt_owner(&args.oinfo, ip->i_ino, cur->bc_ino.whichfork);
-       error = xfs_alloc_vextent_start_ag(&args,
-                       XFS_INO_TO_FSB(cur->bc_mp, ip->i_ino));
+       error = xfs_alloc_vextent_start_ag(&args, XFS_INODE_TO_FSB(ip));
        if (error)
                return error;
        if (args.fsbno == NULLFSBLOCK) {
index f812c6782492cb4e2f9301e140063cf4b4fc51f8..9886af0507e3af53028f1019b45ddf5c34d93244 100644 (file)
@@ -1289,6 +1289,8 @@ static inline bool xfs_dinode_is_metadir(const struct xfs_dinode *dip)
        ((int)(i) & XFS_INO_MASK(XFS_INO_OFFSET_BITS(mp)))
 #define        XFS_INO_TO_FSB(mp,i)            \
        XFS_AGB_TO_FSB(mp, XFS_INO_TO_AGNO(mp,i), XFS_INO_TO_AGBNO(mp,i))
+#define        XFS_INODE_TO_FSB(ip)            \
+       XFS_INO_TO_FSB((ip)->i_mount, (ip)->i_ino)
 #define        XFS_AGINO_TO_INO(mp,a,i)        \
        (((xfs_ino_t)(a) << XFS_INO_AGINO_BITS(mp)) | (i))
 #define        XFS_AGINO_TO_AGBNO(mp,i)        ((i) >> XFS_INO_OFFSET_BITS(mp))
index c25716fc4feee41ed105fb1aeccc65d73fd9ab6d..0075b6d5a1b5ff739a5a3e20453babc380d572f0 100644 (file)
@@ -420,8 +420,7 @@ xrep_cow_alloc(
        if (error)
                return error;
 
-       error = xfs_alloc_vextent_start_ag(&args,
-                       XFS_INO_TO_FSB(sc->mp, sc->ip->i_ino));
+       error = xfs_alloc_vextent_start_ag(&args, XFS_INODE_TO_FSB(sc->ip));
        if (error)
                return error;
        if (args.fsbno == NULLFSBLOCK)
index 2e4981c1baf2f7479743afdb85586ffb57320a07..6ab0eff7d2ea8ce9e6e0be39f1c2ea79d5286b7b 100644 (file)
@@ -123,8 +123,7 @@ xrep_newbt_init_inode(
        if (!ifp)
                return -ENOMEM;
 
-       xrep_newbt_init_ag(xnr, sc, oinfo,
-                       XFS_INO_TO_FSB(sc->mp, sc->ip->i_ino),
+       xrep_newbt_init_ag(xnr, sc, oinfo, XFS_INODE_TO_FSB(sc->ip),
                        XFS_AG_RESV_NONE);
        xnr->ifake.if_fork = ifp;
        xnr->ifake.if_fork_size = xfs_inode_fork_size(sc->ip, whichfork);
@@ -160,8 +159,7 @@ xrep_newbt_init_metadir_inode(
         * as if they were regular file blocks.  This exposes us to a higher
         * risk of the repair being cancelled due to ENOSPC.
         */
-       xrep_newbt_init_ag(xnr, sc, &oinfo,
-                       XFS_INO_TO_FSB(sc->mp, sc->ip->i_ino),
+       xrep_newbt_init_ag(xnr, sc, &oinfo, XFS_INODE_TO_FSB(sc->ip),
                        XFS_AG_RESV_NONE);
        xnr->ifake.if_fork = ifp;
        xnr->ifake.if_fork_size = xfs_inode_fork_size(sc->ip, XFS_DATA_FORK);
index 70d35328799374e080709895879fce309deeb15e..e5efc680651fce42cdf7ad0d2a280c831f623a45 100644 (file)
@@ -48,7 +48,7 @@ xchk_btree_cur_fsbno(
 
        if (level == cur->bc_nlevels - 1 &&
            cur->bc_ops->type == XFS_BTREE_TYPE_INODE)
-               return XFS_INO_TO_FSB(cur->bc_mp, cur->bc_ino.ip->i_ino);
+               return XFS_INODE_TO_FSB(cur->bc_ino.ip);
 
        return NULLFSBLOCK;
 }