From: Darrick J. Wong Date: Mon, 30 Sep 2019 20:17:04 +0000 (-0400) Subject: xfs_spaceman: remove open-coded per-ag bulkstat X-Git-Tag: v5.3.0-rc2~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ff6be863f64bd81d48f143895980cc28bb4292d;p=thirdparty%2Fxfsprogs-dev.git xfs_spaceman: remove open-coded per-ag bulkstat Now that xfrog_bulkstat supports per-AG bulkstat, we can get rid of the open coded one in spaceman. Signed-off-by: Darrick J. Wong Reviewed-by: Dave Chinner Signed-off-by: Eric Sandeen --- diff --git a/spaceman/health.c b/spaceman/health.c index b195a229f..8fd985a29 100644 --- a/spaceman/health.c +++ b/spaceman/health.c @@ -268,30 +268,24 @@ report_bulkstat_health( { struct xfs_bulkstat_req *breq; char descr[256]; - uint64_t startino = 0; - uint64_t lastino = -1ULL; uint32_t i; int error; - if (agno != NULLAGNUMBER) { - startino = cvt_agino_to_ino(&file->xfd, agno, 0); - lastino = cvt_agino_to_ino(&file->xfd, agno + 1, 0) - 1; - } - - breq = xfrog_bulkstat_alloc_req(BULKSTAT_NR, startino); + breq = xfrog_bulkstat_alloc_req(BULKSTAT_NR, 0); if (!breq) { perror("bulk alloc req"); exitcode = 1; return 1; } + if (agno != NULLAGNUMBER) + xfrog_bulkstat_set_ag(breq, agno); + do { error = xfrog_bulkstat(&file->xfd, breq); if (error) break; for (i = 0; i < breq->hdr.ocount; i++) { - if (breq->bulkstat[i].bs_ino > lastino) - goto out; snprintf(descr, sizeof(descr) - 1, _("inode %"PRIu64), breq->bulkstat[i].bs_ino); report_sick(descr, inode_flags, @@ -304,7 +298,7 @@ report_bulkstat_health( errno = error; perror("bulkstat"); } -out: + free(breq); return error; }