mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
xfs: Decouple XFS_IBULK flags from XFS_IWALK flags
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>
This commit is contained in:
@@ -256,6 +256,7 @@ xfs_bulkstat(
|
|||||||
.breq = breq,
|
.breq = breq,
|
||||||
};
|
};
|
||||||
struct xfs_trans *tp;
|
struct xfs_trans *tp;
|
||||||
|
unsigned int iwalk_flags = 0;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
if (breq->mnt_userns != &init_user_ns) {
|
if (breq->mnt_userns != &init_user_ns) {
|
||||||
@@ -279,7 +280,10 @@ xfs_bulkstat(
|
|||||||
if (error)
|
if (error)
|
||||||
goto out;
|
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_bulkstat_iwalk, breq->icount, &bc);
|
||||||
xfs_trans_cancel(tp);
|
xfs_trans_cancel(tp);
|
||||||
out:
|
out:
|
||||||
|
@@ -17,7 +17,7 @@ struct xfs_ibulk {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Only iterate within the same AG as startino */
|
/* 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
|
* Advance the user buffer pointer by one record of the given size. If the
|
||||||
|
@@ -26,7 +26,7 @@ int xfs_iwalk_threaded(struct xfs_mount *mp, xfs_ino_t startino,
|
|||||||
unsigned int inode_records, bool poll, void *data);
|
unsigned int inode_records, bool poll, void *data);
|
||||||
|
|
||||||
/* Only iterate inodes within the same AG as @startino. */
|
/* 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)
|
#define XFS_IWALK_FLAGS_ALL (XFS_IWALK_SAME_AG)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user