summaryrefslogtreecommitdiffstats
path: root/sbin/growfs/growfs.c
diff options
context:
space:
mode:
authorchm <chm@FreeBSD.org>2001-08-08 21:45:42 +0000
committerchm <chm@FreeBSD.org>2001-08-08 21:45:42 +0000
commitb1558cdb69b1b1e81e70763015f7f1ccb1900656 (patch)
tree7822ce77772daed22feeceb9339f54935178e010 /sbin/growfs/growfs.c
parentcf93cda491a8895bb661375c4e88200bc5c277d0 (diff)
downloadFreeBSD-src-b1558cdb69b1b1e81e70763015f7f1ccb1900656.zip
FreeBSD-src-b1558cdb69b1b1e81e70763015f7f1ccb1900656.tar.gz
fixing a bug in test mode (growfs -N)
Submitted by: Chris Boltwood <chris@hiendmedia.com> Reviewed by: tomsoft MFC after: 5 days
Diffstat (limited to 'sbin/growfs/growfs.c')
-rw-r--r--sbin/growfs/growfs.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sbin/growfs/growfs.c b/sbin/growfs/growfs.c
index 1e8e85f..096997c 100644
--- a/sbin/growfs/growfs.c
+++ b/sbin/growfs/growfs.c
@@ -956,6 +956,9 @@ updcsloc(time_t utime, int fsi, int fso, unsigned int Nflag)
/*
* Read original cylinder group from disk, and make a copy.
+ * XXX If Nflag is set in some very rare cases we now miss
+ * some changes done in updjcg by reading the unmodified
+ * block from disk.
*/
rdfs(fsbtodb(&osblock, cgtod(&osblock, ocscg)),
(size_t)osblock.fs_cgsize, (void *)&aocg, fsi);
@@ -1136,6 +1139,18 @@ updcsloc(time_t utime, int fsi, int fso, unsigned int Nflag)
ncscg=dtog(&sblock, sblock.fs_csaddr);
cs=fscs+ncscg;
+
+ /*
+ * If Nflag is specified, we would now read random data instead
+ * of an empty cg structure from disk. So we can't simulate that
+ * part for now.
+ */
+ if(Nflag) {
+ DBG_PRINT0("nscg update skipped\n");
+ DBG_LEAVE;
+ return;
+ }
+
/*
* Read the future cylinder group containing the cylinder
* summary from disk, and make a copy.
OpenPOWER on IntegriCloud