On 10/29/20 11:33 AM, Darrick J. Wong wrote:
No worries, it's not a huge detail, I just thought I'd throw the suggestion out is all :-)On Tue, Oct 27, 2020 at 08:33:50AM -0700, Darrick J. Wong wrote:On Mon, Oct 26, 2020 at 10:35:46PM -0700, Allison Henderson wrote:On 10/26/20 4:32 PM, Darrick J. Wong wrote:From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> The only caller that cares about the file counts uses it to compute the number of files used, so return that and save a parameter. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- scrub/fscounters.c | 8 +++----- scrub/fscounters.h | 2 +- scrub/phase6.c | 7 +++---- scrub/phase7.c | 5 +---- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/scrub/fscounters.c b/scrub/fscounters.c index e9901fcdf6df..9a240d49477b 100644 --- a/scrub/fscounters.c +++ b/scrub/fscounters.c @@ -116,7 +116,7 @@ scrub_count_all_inodes( } /* - * Estimate the number of blocks and inodes in the filesystem. Returns 0 + * Estimate the number of blocks and used inodes in the filesystem. Returns 0 * or a positive error number. */ int @@ -126,8 +126,7 @@ scrub_scan_estimate_blocks( unsigned long long *d_bfree, unsigned long long *r_blocks, unsigned long long *r_bfree, - unsigned long long *f_files, - unsigned long long *f_free) + unsigned long long *f_files_used) { struct xfs_fsop_counts fc; int error; @@ -141,8 +140,7 @@ scrub_scan_estimate_blocks( *d_bfree = fc.freedata; *r_blocks = ctx->mnt.fsgeom.rtblocks; *r_bfree = fc.freertx; - *f_files = fc.allocino; - *f_free = fc.freeino; + *f_files_used = fc.allocino - fc.freeino;Just a nit, I think I might have put in: if(f_files_used) *f_files_used = fc.allocino - fc.freeino; That way calling functions that don't care can just pass NULL, instead of declaring a "dontcare" variable that has no other use. Though I suppose none of the other variables do that.<shrug> There's only two callers, and they both pass a pointer, so I didn't bother......and one of those callers is to a dontcare variable; and that's what you were talking about. Er... I don't mind changing it, but I'll leave that to Eric's discretion. --D
Allison
--DReviewed-by: Allison Henderson <allison.henderson@xxxxxxxxxx> Allisonreturn 0; } diff --git a/scrub/fscounters.h b/scrub/fscounters.h index 1fae58a6b287..13bd9967f004 100644 --- a/scrub/fscounters.h +++ b/scrub/fscounters.h @@ -9,7 +9,7 @@ int scrub_scan_estimate_blocks(struct scrub_ctx *ctx, unsigned long long *d_blocks, unsigned long long *d_bfree, unsigned long long *r_blocks, unsigned long long *r_bfree, - unsigned long long *f_files, unsigned long long *f_free); + unsigned long long *f_files_used); int scrub_count_all_inodes(struct scrub_ctx *ctx, uint64_t *count); #endif /* XFS_SCRUB_FSCOUNTERS_H_ */ diff --git a/scrub/phase6.c b/scrub/phase6.c index 8d976732d8e1..87828b60fbed 100644 --- a/scrub/phase6.c +++ b/scrub/phase6.c @@ -719,12 +719,11 @@ phase6_estimate( unsigned long long d_bfree; unsigned long long r_blocks; unsigned long long r_bfree; - unsigned long long f_files; - unsigned long long f_free; + unsigned long long dontcare; int ret; - ret = scrub_scan_estimate_blocks(ctx, &d_blocks, &d_bfree, - &r_blocks, &r_bfree, &f_files, &f_free); + ret = scrub_scan_estimate_blocks(ctx, &d_blocks, &d_bfree, &r_blocks, + &r_bfree, &dontcare); if (ret) { str_liberror(ctx, ret, _("estimating verify work")); return ret; diff --git a/scrub/phase7.c b/scrub/phase7.c index 96876f7c0596..bc652ab6f44a 100644 --- a/scrub/phase7.c +++ b/scrub/phase7.c @@ -111,8 +111,6 @@ phase7_func( unsigned long long d_bfree; unsigned long long r_blocks; unsigned long long r_bfree; - unsigned long long f_files; - unsigned long long f_free; bool complain; int ip; int error; @@ -160,7 +158,7 @@ phase7_func( } error = scrub_scan_estimate_blocks(ctx, &d_blocks, &d_bfree, &r_blocks, - &r_bfree, &f_files, &f_free); + &r_bfree, &used_files); if (error) { str_liberror(ctx, error, _("estimating verify work")); return error; @@ -177,7 +175,6 @@ phase7_func( /* Report on what we found. */ used_data = cvt_off_fsb_to_b(&ctx->mnt, d_blocks - d_bfree); used_rt = cvt_off_fsb_to_b(&ctx->mnt, r_blocks - r_bfree); - used_files = f_files - f_free; stat_data = totalcount.dbytes; stat_rt = totalcount.rbytes;