]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_scrub: don't (re)set the bulkstat request icount incorrectly
authorDarrick J. Wong <djwong@kernel.org>
Mon, 24 Feb 2025 18:21:43 +0000 (10:21 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 25 Feb 2025 17:15:56 +0000 (09:15 -0800)
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>
Reviewed-by: Christoph Hellwig <hch@lst.de>
scrub/inodes.c

index a7ea24615e92555151c2cef3e9bc96366651f603..4e4408f9ff2256f00ba6b9dbb45de22a577a34c8 100644 (file)
@@ -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];