[PATCH 11/17] xfs_scrub: don't (re)set the bulkstat request icount incorrectly

Darrick J. Wong
2025-02-06T22:33:33Z

Don't change the bulkstat request icount in bulkstat_for_inumbers
because alloc_ichunk already set it to LIBFROG_BULKSTAT_CHUNKSIZE.
Lowering it to xi_alloccount here means that we can miss inodes at the
end of the inumbers chunk if any are allocated to the same inobt record
after the inumbers call but before the bulkstat call.

Cc: <linux-xfs@vger.kernel.org> # v5.3.0
Fixes: e3724c8b82a320 ("xfs_scrub: refactor xfs_iterate_inodes_range_check")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
---
scrub/inodes.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/scrub/inodes.c b/scrub/inodes.c
index a7ea24615e9255..4e4408f9ff2256 100644
--- a/scrub/inodes.c
+++ b/scrub/inodes.c
@@ -66,7 +66,6 @@ bulkstat_for_inumbers(

/* First we try regular bulkstat, for speed. */
breq->hdr.ino = inumbers->xi_startino;
- breq->hdr.icount = inumbers->xi_alloccount;
error = -xfrog_bulkstat(&ctx->mnt, breq);
if (error) {
char errbuf[DESCR_BUFSZ];