From: Christoph Hellwig Date: Thu, 14 Nov 2024 09:28:33 +0000 (+0100) Subject: xfs_scrub: cleanup fsmap keys initialization X-Git-Tag: v6.13.0~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=04c33913870693df6fcc46cbab69a3f1b3fea42e;p=thirdparty%2Fxfsprogs-dev.git xfs_scrub: cleanup fsmap keys initialization Use the good old array notations instead of pointer arithmetics. Signed-off-by: Christoph Hellwig Reviewed-by: "Darrick J. Wong" [djwong: fold scan_rtg_rmaps cleanups into next patch] Signed-off-by: "Darrick J. Wong" --- diff --git a/scrub/phase6.c b/scrub/phase6.c index e4f26e7f..fc63f5aa 100644 --- a/scrub/phase6.c +++ b/scrub/phase6.c @@ -495,7 +495,7 @@ report_ioerr( uint64_t length, void *arg) { - struct fsmap keys[2]; + struct fsmap keys[2] = { }; struct ioerr_filerange fr = { .physical = start, .length = length, @@ -506,14 +506,13 @@ report_ioerr( dev = disk_to_dev(dioerr->ctx, dioerr->disk); /* Go figure out which blocks are bad from the fsmap. */ - memset(keys, 0, sizeof(struct fsmap) * 2); - keys->fmr_device = dev; - keys->fmr_physical = start; - (keys + 1)->fmr_device = dev; - (keys + 1)->fmr_physical = start + length - 1; - (keys + 1)->fmr_owner = ULLONG_MAX; - (keys + 1)->fmr_offset = ULLONG_MAX; - (keys + 1)->fmr_flags = UINT_MAX; + keys[0].fmr_device = dev; + keys[0].fmr_physical = start; + keys[1].fmr_device = dev; + keys[1].fmr_physical = start + length - 1; + keys[1].fmr_owner = ULLONG_MAX; + keys[1].fmr_offset = ULLONG_MAX; + keys[1].fmr_flags = UINT_MAX; return -scrub_iterate_fsmap(dioerr->ctx, keys, report_ioerr_fsmap, &fr); } diff --git a/scrub/spacemap.c b/scrub/spacemap.c index e35756db..4b7fae25 100644 --- a/scrub/spacemap.c +++ b/scrub/spacemap.c @@ -96,21 +96,20 @@ scan_ag_rmaps( { struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx; struct scan_blocks *sbx = arg; - struct fsmap keys[2]; + struct fsmap keys[2] = { }; off_t bperag; int ret; bperag = (off_t)ctx->mnt.fsgeom.agblocks * (off_t)ctx->mnt.fsgeom.blocksize; - memset(keys, 0, sizeof(struct fsmap) * 2); - keys->fmr_device = ctx->fsinfo.fs_datadev; - keys->fmr_physical = agno * bperag; - (keys + 1)->fmr_device = ctx->fsinfo.fs_datadev; - (keys + 1)->fmr_physical = ((agno + 1) * bperag) - 1; - (keys + 1)->fmr_owner = ULLONG_MAX; - (keys + 1)->fmr_offset = ULLONG_MAX; - (keys + 1)->fmr_flags = UINT_MAX; + keys[0].fmr_device = ctx->fsinfo.fs_datadev; + keys[0].fmr_physical = agno * bperag; + keys[1].fmr_device = ctx->fsinfo.fs_datadev; + keys[1].fmr_physical = ((agno + 1) * bperag) - 1; + keys[1].fmr_owner = ULLONG_MAX; + keys[1].fmr_offset = ULLONG_MAX; + keys[1].fmr_flags = UINT_MAX; if (sbx->aborted) return; @@ -135,16 +134,15 @@ scan_dev_rmaps( dev_t dev, struct scan_blocks *sbx) { - struct fsmap keys[2]; + struct fsmap keys[2] = { }; int ret; - memset(keys, 0, sizeof(struct fsmap) * 2); - keys->fmr_device = dev; - (keys + 1)->fmr_device = dev; - (keys + 1)->fmr_physical = ULLONG_MAX; - (keys + 1)->fmr_owner = ULLONG_MAX; - (keys + 1)->fmr_offset = ULLONG_MAX; - (keys + 1)->fmr_flags = UINT_MAX; + keys[0].fmr_device = dev; + keys[1].fmr_device = dev; + keys[1].fmr_physical = ULLONG_MAX; + keys[1].fmr_owner = ULLONG_MAX; + keys[1].fmr_offset = ULLONG_MAX; + keys[1].fmr_flags = UINT_MAX; if (sbx->aborted) return;