On Mon, 23 Apr 2001, Ian Dowse wrote:
> In message <[EMAIL PROTECTED]>, John Baldwin writes:
> >
> >
> >Fair enough, I guess ffs_reload() should just sanity check the values. Any
> >takers?
>
> You could try this (untested). I have to run now, but I can test it
> later as it's easy enough to reproduce.
>
> Ian
>
> Index: ffs_vfsops.c
> ===================================================================
> RCS file: /dump/FreeBSD-CVS/src/sys/ufs/ffs/ffs_vfsops.c,v
> retrieving revision 1.146
> diff -u -r1.146 ffs_vfsops.c
> --- ffs_vfsops.c 2001/04/17 05:37:51 1.146
> +++ ffs_vfsops.c 2001/04/23 22:15:55
> @@ -427,6 +427,11 @@
> brelse(bp);
> mp->mnt_maxsymlinklen = fs->fs_maxsymlinklen;
> ffs_oldfscompat(fs);
> + /* An old fsck may have clobbered these fields, so recheck them. */
> + if (fs->fs_avgfilesize <= 0) /* XXX */
> + fs->fs_avgfilesize = AVFILESIZ; /* XXX */
> + if (fs->fs_avgfpdir <= 0) /* XXX */
> + fs->fs_avgfpdir = AFPDIR; /* XXX */
>
> /*
> * Step 3: re-read summary information from disk.
I think this and the corresponding code in ffs_mountfs() should be in
ffs_oldfscompat(), or at least in a common routine. We need to do
some fixups for old filesystems, and the present problem shows that
a filesystem may become "old" again after the initial mount makes it
"new".
Bruce
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message