diff options
author | chm <chm@FreeBSD.org> | 2001-08-08 21:45:42 +0000 |
---|---|---|
committer | chm <chm@FreeBSD.org> | 2001-08-08 21:45:42 +0000 |
commit | b1558cdb69b1b1e81e70763015f7f1ccb1900656 (patch) | |
tree | 7822ce77772daed22feeceb9339f54935178e010 /sbin/growfs/growfs.c | |
parent | cf93cda491a8895bb661375c4e88200bc5c277d0 (diff) | |
download | FreeBSD-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.c | 15 |
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. |