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

Reply via email to