xfs: fix superfluous clearing of info->low in __xfs_getfsmap_datadev

The for_each_perag helpers update the agno passed in for each iteration,
and thus the "if (pag->pag_agno == start_ag)" check will always be true.

Add another variable for the loop iterator so that the field is only
cleared after the first iteration.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
Christoph Hellwig 2024-11-03 20:18:25 -08:00 committed by Darrick J. Wong
parent 62027820eb
commit cd8ae42a82

View File

@ -471,8 +471,7 @@ __xfs_getfsmap_datadev(
struct xfs_btree_cur *bt_cur = NULL; struct xfs_btree_cur *bt_cur = NULL;
xfs_fsblock_t start_fsb; xfs_fsblock_t start_fsb;
xfs_fsblock_t end_fsb; xfs_fsblock_t end_fsb;
xfs_agnumber_t start_ag; xfs_agnumber_t start_ag, end_ag, ag;
xfs_agnumber_t end_ag;
uint64_t eofs; uint64_t eofs;
int error = 0; int error = 0;
@ -520,7 +519,8 @@ __xfs_getfsmap_datadev(
start_ag = XFS_FSB_TO_AGNO(mp, start_fsb); start_ag = XFS_FSB_TO_AGNO(mp, start_fsb);
end_ag = XFS_FSB_TO_AGNO(mp, end_fsb); end_ag = XFS_FSB_TO_AGNO(mp, end_fsb);
for_each_perag_range(mp, start_ag, end_ag, pag) { ag = start_ag;
for_each_perag_range(mp, ag, end_ag, pag) {
/* /*
* Set the AG high key from the fsmap high key if this * Set the AG high key from the fsmap high key if this
* is the last AG that we're querying. * is the last AG that we're querying.