From 54fab0fbc4a03fcf430cd8e8184e1196c53daf2e Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Tue, 22 Sep 2020 03:57:48 +0000 Subject: [PATCH] Add missing cylinder group check-hash updates when doing large expansions of filesystems. Reported by: Colin Percival (cperciva@) Tested by: Colin Percival (cperciva@) MFC after: 3 days Sponsored by: Netflix --- sbin/growfs/growfs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c index 967cda3330d..45d5f258c8e 100644 --- a/sbin/growfs/growfs.c +++ b/sbin/growfs/growfs.c @@ -590,6 +590,7 @@ updjcg(int cylno, time_t modtime, int fsi, int fso, unsigned int Nflag) if (sblock.fs_magic == FS_UFS1_MAGIC) acg.cg_old_ncyl = sblock.fs_old_cpg; + cgckhash(&acg); wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); DBG_PRINT0("jcg written\n"); @@ -965,6 +966,7 @@ updcsloc(time_t modtime, int fsi, int fso, unsigned int Nflag) * Now write the former cylinder group containing the cylinder * summary back to disk. */ + cgckhash(&acg); wtfs(fsbtodb(&sblock, cgtod(&sblock, ocscg)), (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); DBG_PRINT0("oscg written\n"); @@ -1057,6 +1059,7 @@ updcsloc(time_t modtime, int fsi, int fso, unsigned int Nflag) * Write the new cylinder group containing the cylinder summary * back to disk. */ + cgckhash(&acg); wtfs(fsbtodb(&sblock, cgtod(&sblock, ncscg)), (size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag); DBG_PRINT0("nscg written\n");