]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: add a xfs_rmap_inode_bmbt_owner
authorChristoph Hellwig <hch@lst.de>
Fri, 15 May 2026 13:50:25 +0000 (15:50 +0200)
committerCarlos Maiolino <cem@kernel.org>
Tue, 9 Jun 2026 07:14:41 +0000 (09:14 +0200)
Add a small wrapper for initializing the bmbt owner to i_ino.

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_bmap_btree.c
fs/xfs/libxfs/xfs_btree.c
fs/xfs/libxfs/xfs_rmap.h
fs/xfs/scrub/bmap.c
fs/xfs/scrub/bmap_repair.c
fs/xfs/scrub/newbt.c
fs/xfs/scrub/reap.c
fs/xfs/scrub/rtrefcount.c
fs/xfs/scrub/rtrmap.c

index a11a8aee5b794c20b9c3ceb813666fb69713ee59..066d13e97ec94e4039d6ffa6655dbf37c1ee003e 100644 (file)
@@ -602,7 +602,7 @@ xfs_bmap_btree_to_extents(
        if ((error = xfs_btree_check_block(cur, cblock, 0, cbp)))
                return error;
 
-       xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, ip, whichfork);
        error = xfs_free_extent_later(cur->bc_tp, cbno, 1, &oinfo,
                        XFS_AG_RESV_NONE, 0);
        if (error)
@@ -676,7 +676,7 @@ xfs_bmap_extents_to_btree(
        memset(&args, 0, sizeof(args));
        args.tp = tp;
        args.mp = mp;
-       xfs_rmap_ino_bmbt_owner(&args.oinfo, ip->i_ino, whichfork);
+       xfs_rmap_inode_bmbt_owner(&args.oinfo, ip, whichfork);
 
        args.minlen = args.maxlen = args.prod = 1;
        args.wasdel = wasdel;
index 1c7165df483a97b1530175c77b1a8ed25f0a67db..8683574566e29b5f47683533542b5ba5a6a6239a 100644 (file)
@@ -217,7 +217,7 @@ xfs_bmbt_alloc_block(
        memset(&args, 0, sizeof(args));
        args.tp = cur->bc_tp;
        args.mp = cur->bc_mp;
-       xfs_rmap_ino_bmbt_owner(&args.oinfo, cur->bc_ino.ip->i_ino,
+       xfs_rmap_inode_bmbt_owner(&args.oinfo, cur->bc_ino.ip,
                        cur->bc_ino.whichfork);
        args.minlen = args.maxlen = args.prod = 1;
        args.wasdel = cur->bc_flags & XFS_BTREE_BMBT_WASDEL;
@@ -280,7 +280,7 @@ xfs_bmbt_free_block(
        struct xfs_owner_info   oinfo;
        int                     error;
 
-       xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, cur->bc_ino.whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, ip, cur->bc_ino.whichfork);
        error = xfs_free_extent_later(cur->bc_tp, fsbno, 1, &oinfo,
                        XFS_AG_RESV_NONE, 0);
        if (error)
index 71d65f2fa005a2d78d4b2dd955c74f434f0bc4ba..ea85c5fbe5310daff17b382bde5c52cf2a45ccc2 100644 (file)
@@ -5607,7 +5607,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);
+       xfs_rmap_inode_bmbt_owner(&args.oinfo, ip, cur->bc_ino.whichfork);
        error = xfs_alloc_vextent_start_ag(&args, XFS_INODE_TO_FSB(ip));
        if (error)
                return error;
@@ -5639,7 +5639,7 @@ xfs_btree_free_metafile_block(
 
        ASSERT(xfs_is_metadir_inode(ip));
 
-       xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, cur->bc_ino.whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, ip, cur->bc_ino.whichfork);
        error = xfs_free_extent_later(tp, fsbno, 1, &oinfo, XFS_AG_RESV_METAFILE,
                        0);
        if (error)
index 5f39f6e53cd19a7ebf090b993f37ad08ba16cbf9..7188459f61cf3e9665318e50fa250a06981372b4 100644 (file)
@@ -21,6 +21,8 @@ xfs_rmap_ino_bmbt_owner(
        if (whichfork == XFS_ATTR_FORK)
                oi->oi_flags |= XFS_OWNER_INFO_ATTR_FORK;
 }
+#define xfs_rmap_inode_bmbt_owner(oi, ip, whichfork) \
+       xfs_rmap_ino_bmbt_owner(oi, (ip)->i_ino, whichfork)
 
 static inline void
 xfs_rmap_ino_owner(
index d40534bf9ef941f4397933ab182aa94993e07674..2ad223f0bc8ac21670d49a02f7d8921b2de3be0b 100644 (file)
@@ -600,7 +600,7 @@ xchk_bmap_btree(
 
        /* Check the btree structure. */
        cur = xfs_bmbt_init_cursor(mp, sc->tp, ip, whichfork);
-       xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, ip, whichfork);
        error = xchk_btree(sc, cur, xchk_bmapbt_rec, &oinfo, info);
        xfs_btree_del_cursor(cur, error);
 out:
index 822a4af438330a14a323c47053438886a041c7ba..f5791ad21e418681a1cb403489d706197dda330d 100644 (file)
@@ -760,7 +760,7 @@ xrep_bmap_build_new_fork(
         * Prepare to construct the new fork by initializing the new btree
         * structure and creating a fake ifork in the ifakeroot structure.
         */
-       xfs_rmap_ino_bmbt_owner(&oinfo, sc->ip->i_ino, rb->whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, sc->ip, rb->whichfork);
        error = xrep_newbt_init_inode(&rb->new_bmapbt, sc, rb->whichfork,
                        &oinfo);
        if (error)
@@ -833,7 +833,7 @@ xrep_bmap_remove_old_tree(
        struct xfs_owner_info   oinfo;
 
        /* Free the old bmbt blocks if they're not in use. */
-       xfs_rmap_ino_bmbt_owner(&oinfo, sc->ip->i_ino, rb->whichfork);
+       xfs_rmap_inode_bmbt_owner(&oinfo, sc->ip, rb->whichfork);
        return xrep_reap_fsblocks(sc, &rb->old_bmbt_blocks, &oinfo);
 }
 
index 6ab0eff7d2ea8ce9e6e0be39f1c2ea79d5286b7b..c82f4631fd9c270a4dc888e91b46d8db43056d07 100644 (file)
@@ -145,7 +145,7 @@ xrep_newbt_init_metadir_inode(
 
        ASSERT(xfs_is_metadir_inode(sc->ip));
 
-       xfs_rmap_ino_bmbt_owner(&oinfo, sc->ip->i_ino, XFS_DATA_FORK);
+       xfs_rmap_inode_bmbt_owner(&oinfo, sc->ip, XFS_DATA_FORK);
 
        ifp = kmem_cache_zalloc(xfs_ifork_cache, XCHK_GFP_FLAGS);
        if (!ifp)
index fff23932828bebd669af5746ec343e4cd913cdc0..cd90ecae3ffb9dff8bcfe8474ac7920c4fcfea06 100644 (file)
@@ -1205,7 +1205,7 @@ xrep_reap_metadir_fsblocks(
        ASSERT(xfs_is_metadir_inode(sc->ip));
 
        xreap_configure_agextent_limits(&rs);
-       xfs_rmap_ino_bmbt_owner(&oinfo, sc->ip->i_ino, XFS_DATA_FORK);
+       xfs_rmap_inode_bmbt_owner(&oinfo, sc->ip, XFS_DATA_FORK);
        error = xfsb_bitmap_walk(bitmap, xreap_fsmeta_extent, &rs);
        if (error)
                return error;
index 4951cc2717885cc74c2b0f5c0e93c715cab41451..0d10ce2910c2cbb41c9448c2208989cfde305cd0 100644 (file)
@@ -555,7 +555,7 @@ xchk_rtrefcountbt(
        if (error || (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT))
                return error;
 
-       xfs_rmap_ino_bmbt_owner(&btree_oinfo, rtg_refcount(sc->sr.rtg)->i_ino,
+       xfs_rmap_inode_bmbt_owner(&btree_oinfo, rtg_refcount(sc->sr.rtg),
                        XFS_DATA_FORK);
        error = xchk_btree(sc, sc->sr.refc_cur, xchk_rtrefcountbt_rec,
                        &btree_oinfo, &rrc);
index 8b1a8389d32f0a4b9b2de5457b5e84507c68bbb0..043be93c7148844402379e32d137714976a00ae2 100644 (file)
@@ -244,7 +244,6 @@ int
 xchk_rtrmapbt(
        struct xfs_scrub        *sc)
 {
-       struct xfs_inode        *ip = rtg_rmap(sc->sr.rtg);
        struct xfs_owner_info   oinfo;
        struct xchk_rtrmap      cr = { };
        int                     error;
@@ -253,7 +252,7 @@ xchk_rtrmapbt(
        if (error || (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT))
                return error;
 
-       xfs_rmap_ino_bmbt_owner(&oinfo, ip->i_ino, XFS_DATA_FORK);
+       xfs_rmap_inode_bmbt_owner(&oinfo, rtg_rmap(sc->sr.rtg), XFS_DATA_FORK);
        return xchk_btree(sc, sc->sr.rmap_cur, xchk_rtrmapbt_rec, &oinfo, &cr);
 }