OSDN Git Service

xfs: Decouple XFS_IBULK flags from XFS_IWALK flags
authorChandan Babu R <chandan.babu@oracle.com>
Wed, 9 Mar 2022 12:34:04 +0000 (12:34 +0000)
committerChandan Babu R <chandan.babu@oracle.com>
Wed, 13 Apr 2022 07:02:44 +0000 (07:02 +0000)
A future commit will add a new XFS_IBULK flag which will not have a
corresponding XFS_IWALK flag. In preparation for the change, this commit
separates XFS_IBULK_* flags from XFS_IWALK_* flags.

Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandan.babu@oracle.com>
fs/xfs/xfs_itable.c
fs/xfs/xfs_itable.h
fs/xfs/xfs_iwalk.h

index c08c79d..71ed490 100644 (file)
@@ -256,6 +256,7 @@ xfs_bulkstat(
                .breq           = breq,
        };
        struct xfs_trans        *tp;
+       unsigned int            iwalk_flags = 0;
        int                     error;
 
        if (breq->mnt_userns != &init_user_ns) {
@@ -279,7 +280,10 @@ xfs_bulkstat(
        if (error)
                goto out;
 
-       error = xfs_iwalk(breq->mp, tp, breq->startino, breq->flags,
+       if (breq->flags & XFS_IBULK_SAME_AG)
+               iwalk_flags |= XFS_IWALK_SAME_AG;
+
+       error = xfs_iwalk(breq->mp, tp, breq->startino, iwalk_flags,
                        xfs_bulkstat_iwalk, breq->icount, &bc);
        xfs_trans_cancel(tp);
 out:
index 7078d10..5ee1d3f 100644 (file)
@@ -17,7 +17,7 @@ struct xfs_ibulk {
 };
 
 /* Only iterate within the same AG as startino */
-#define XFS_IBULK_SAME_AG      (XFS_IWALK_SAME_AG)
+#define XFS_IBULK_SAME_AG      (1U << 0)
 
 /*
  * Advance the user buffer pointer by one record of the given size.  If the
index 37a795f..8369908 100644 (file)
@@ -26,7 +26,7 @@ int xfs_iwalk_threaded(struct xfs_mount *mp, xfs_ino_t startino,
                unsigned int inode_records, bool poll, void *data);
 
 /* Only iterate inodes within the same AG as @startino. */
-#define XFS_IWALK_SAME_AG      (0x1)
+#define XFS_IWALK_SAME_AG      (1U << 0)
 
 #define XFS_IWALK_FLAGS_ALL    (XFS_IWALK_SAME_AG)