]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfsprogs: Fix uninitialized cfg->lsunit
authorAllison Collins <allison.henderson@oracle.com>
Wed, 10 Jul 2019 15:38:04 +0000 (11:38 -0400)
committerEric Sandeen <sandeen@redhat.com>
Wed, 10 Jul 2019 15:38:04 +0000 (11:38 -0400)
While investigating another mkfs bug, noticed that cfg->lsunit is sometimes
left uninitialized when it should not.  This is because calc_stripe_factors
in some cases needs cfg->loginternal to be set first.  This is done in
validate_logdev. So move calc_stripe_factors below validate_logdev while
parsing configs.

Signed-off-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
mkfs/xfs_mkfs.c

index 79377b1293bdea44591af3935763a68b5192120d..65cf1e0f6cc9e07c4f2d96ddb55308b4c2dd8be7 100644 (file)
@@ -4007,7 +4007,6 @@ main(
        cfg.rtblocks = calc_dev_size(cli.rtsize, &cfg, &ropts, R_SIZE, "rt");
 
        validate_rtextsize(&cfg, &cli, &ft);
-       calc_stripe_factors(&cfg, &cli, &ft);
 
        /*
         * Open and validate the device configurations
@@ -4017,6 +4016,7 @@ main(
        validate_datadev(&cfg, &cli);
        validate_logdev(&cfg, &cli, &logfile);
        validate_rtdev(&cfg, &cli, &rtfile);
+       calc_stripe_factors(&cfg, &cli, &ft);
 
        /*
         * At this point when know exactly what size all the devices are,