aboutsummaryrefslogtreecommitdiff
path: root/sbin/growfs/growfs.c
diff options
context:
space:
mode:
authorKirk McKusick <mckusick@FreeBSD.org>2020-09-22 03:57:48 +0000
committerKirk McKusick <mckusick@FreeBSD.org>2020-09-22 03:57:48 +0000
commit54fab0fbc4a03fcf430cd8e8184e1196c53daf2e (patch)
tree6cb8c764a11f0fc251830a5466e581c9de16c4e4 /sbin/growfs/growfs.c
parent7054f6ec9756668b2d09d9565cc9fb8ee7b0ccd0 (diff)
downloadsrc-54fab0fbc4a03fcf430cd8e8184e1196c53daf2e.tar.gz
src-54fab0fbc4a03fcf430cd8e8184e1196c53daf2e.zip
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
Notes
Notes: svn path=/head/; revision=365992
Diffstat (limited to 'sbin/growfs/growfs.c')
-rw-r--r--sbin/growfs/growfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c
index 967cda3330d0..45d5f258c8ed 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");