[PATCH] xfs: Remove unnecessary checks in functions related to xfs_fsmap

From: Zizhi Wo
Date: Sat May 17 2025 - 03:48:38 EST


From: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>

In __xfs_getfsmap_datadev(), if "pag_agno(pag) == end_ag", we don't need
to check the result of query_fn(), because there won't be another iteration
of the loop anyway. Also, both before and after the change, info->group
will eventually be set to NULL and the reference count of xfs_group will
also be decremented before exiting the iteration.

The same logic applies to other similar functions as well, so related
cleanup operations are performed together.

Signed-off-by: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>
Signed-off-by: Zizhi Wo <wozizhi@xxxxxxxxxx>
---
fs/xfs/xfs_fsmap.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/fs/xfs/xfs_fsmap.c b/fs/xfs/xfs_fsmap.c
index 414b27a86458..792282aa8a29 100644
--- a/fs/xfs/xfs_fsmap.c
+++ b/fs/xfs/xfs_fsmap.c
@@ -579,8 +579,6 @@ __xfs_getfsmap_datadev(
if (pag_agno(pag) == end_ag) {
info->last = true;
error = query_fn(tp, info, &bt_cur, priv);
- if (error)
- break;
}
info->group = NULL;
}
@@ -813,8 +811,6 @@ xfs_getfsmap_rtdev_rtbitmap(
info->last = true;
error = xfs_getfsmap_rtdev_rtbitmap_helper(rtg, tp,
&ahigh, info);
- if (error)
- break;
}

xfs_rtgroup_unlock(rtg, XFS_RTGLOCK_BITMAP_SHARED);
@@ -1018,8 +1014,6 @@ xfs_getfsmap_rtdev_rmapbt(
info->last = true;
error = xfs_getfsmap_rtdev_rmapbt_helper(bt_cur,
&info->high, info);
- if (error)
- break;
}
info->group = NULL;
}
--
2.39.2