]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_scrub: cleanup fsmap keys initialization
authorChristoph Hellwig <hch@lst.de>
Thu, 14 Nov 2024 09:28:33 +0000 (10:28 +0100)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 24 Dec 2024 02:01:35 +0000 (18:01 -0800)
Use the good old array notations instead of pointer arithmetics.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
[djwong: fold scan_rtg_rmaps cleanups into next patch]
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
scrub/phase6.c
scrub/spacemap.c

index e4f26e7f1dd93e4fba953ab82a20865129c749f4..fc63f5aad0bd7befa77bf4ae570acaf4e4639b14 100644 (file)
@@ -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);
 }
index e35756db2eed43ccb29c630efbee52f9d49513d8..4b7fae252d86ca621ac4357eec61870dd3b1912e 100644 (file)
@@ -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;