]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xfs: remove XFS_IBULK_SAME_AG
authorChristoph Hellwig <hch@lst.de>
Wed, 23 Jul 2025 12:19:45 +0000 (14:19 +0200)
committerCarlos Maiolino <cem@kernel.org>
Mon, 11 Aug 2025 12:03:31 +0000 (14:03 +0200)
Add a new field to struct xfs_ibulk to directly pass XFS_IWALK* flags,
and thus remove the need to indirect the SAME_AG flag through
XFS_IBULK*.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_ioctl.c
fs/xfs/xfs_itable.c
fs/xfs/xfs_itable.h

index fe1f74a3b6a354609cbef137993534488a30a7a2..e1051a530a50febf88065bb6b6a2818b4741e570 100644 (file)
@@ -219,7 +219,7 @@ xfs_bulk_ireq_setup(
                else if (XFS_INO_TO_AGNO(mp, breq->startino) < hdr->agno)
                        return -EINVAL;
 
-               breq->flags |= XFS_IBULK_SAME_AG;
+               breq->iwalk_flags |= XFS_IWALK_SAME_AG;
 
                /* Asking for an inode past the end of the AG?  We're done! */
                if (XFS_INO_TO_AGNO(mp, breq->startino) > hdr->agno)
index 5116842420b2e6f1dee889e50766f4ab9672e83c..2aa37a4d2706db29cd7d56cf47aaa2d491f62bc0 100644 (file)
@@ -307,7 +307,6 @@ xfs_bulkstat(
                .breq           = breq,
        };
        struct xfs_trans        *tp;
-       unsigned int            iwalk_flags = 0;
        int                     error;
 
        if (breq->idmap != &nop_mnt_idmap) {
@@ -328,10 +327,7 @@ xfs_bulkstat(
         * locking abilities to detect cycles in the inobt without deadlocking.
         */
        tp = xfs_trans_alloc_empty(breq->mp);
-       if (breq->flags & XFS_IBULK_SAME_AG)
-               iwalk_flags |= XFS_IWALK_SAME_AG;
-
-       error = xfs_iwalk(breq->mp, tp, breq->startino, iwalk_flags,
+       error = xfs_iwalk(breq->mp, tp, breq->startino, breq->iwalk_flags,
                        xfs_bulkstat_iwalk, breq->icount, &bc);
        xfs_trans_cancel(tp);
        kfree(bc.buf);
@@ -447,21 +443,17 @@ xfs_inumbers(
                .breq           = breq,
        };
        struct xfs_trans        *tp;
-       unsigned int            iwalk_flags = 0;
        int                     error = 0;
 
        if (xfs_bulkstat_already_done(breq->mp, breq->startino))
                return 0;
 
-       if (breq->flags & XFS_IBULK_SAME_AG)
-               iwalk_flags |= XFS_IWALK_SAME_AG;
-
        /*
         * Grab an empty transaction so that we can use its recursive buffer
         * locking abilities to detect cycles in the inobt without deadlocking.
         */
        tp = xfs_trans_alloc_empty(breq->mp);
-       error = xfs_inobt_walk(breq->mp, tp, breq->startino, iwalk_flags,
+       error = xfs_inobt_walk(breq->mp, tp, breq->startino, breq->iwalk_flags,
                        xfs_inumbers_walk, breq->icount, &ic);
        xfs_trans_cancel(tp);
 
index f10e8f8f2335100d07a1b631a6fa8fc38ceb3851..2d0612f14d6e125cddcf01cf8ca3085e0503a06d 100644 (file)
@@ -13,17 +13,15 @@ struct xfs_ibulk {
        xfs_ino_t               startino; /* start with this inode */
        unsigned int            icount;   /* number of elements in ubuffer */
        unsigned int            ocount;   /* number of records returned */
-       unsigned int            flags;    /* see XFS_IBULK_FLAG_* */
+       unsigned int            flags;    /* XFS_IBULK_FLAG_* */
+       unsigned int            iwalk_flags; /* XFS_IWALK_FLAG_* */
 };
 
-/* Only iterate within the same AG as startino */
-#define XFS_IBULK_SAME_AG      (1U << 0)
-
 /* Fill out the bs_extents64 field if set. */
-#define XFS_IBULK_NREXT64      (1U << 1)
+#define XFS_IBULK_NREXT64      (1U << 0)
 
 /* Signal that we can return metadata directories. */
-#define XFS_IBULK_METADIR      (1U << 2)
+#define XFS_IBULK_METADIR      (1U << 1)
 
 /*
  * Advance the user buffer pointer by one record of the given size.  If the