Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Dec 1997 01:35:10 -0500 (EST)
From:      "John S. Dyson" <dyson@FreeBSD.ORG>
To:        cschuber@uumail.gov.bc.ca
Cc:        freebsd-bugs@hub.freebsd.org
Subject:   Re: kern/5355: Fix for NULLFS problems
Message-ID:  <199712260635.BAA08052@dyson.iquest.net>
In-Reply-To: <199712221840.KAA14709@hub.freebsd.org> from Cy Schubert - ITSD Open Systems Group at "Dec 22, 97 10:40:02 am"

next in thread | previous in thread | raw e-mail | index | archive | help
>  > >>Fix:
>  > >cwsys# cat /opt/archives-3/usermods/nullfs_panic_fix.usermod 
>  > >--- src/sys/vm/vnode_pager.c.orig2      Sun Dec  7 13:11:03 1997
>  > >+++ src/sys/vm/vnode_pager.c    Fri Dec 19 06:30:27 1997
>  > >@@ -231,10 +231,12 @@
>  > >        blocksperpage = 0;
>  > >        if (pagesperblock > 0) {
>  > >                reqblock = pindex / pagesperblock;
>  > >-       } else {
>  > >+       } else if (bsize > 0)  {
>  > >                blocksperpage = (PAGE_SIZE / bsize);
>  > >                reqblock = pindex * blocksperpage;
>  > >-       }
>  > >+       } else
>  > >+               return FALSE;
>  > >+
>  > 
>  > I think bsize is supposed to be > 0 here.  Lots of other places depend
>  > on vp->v_mount->mnt_stat.f_iosize being reasonable.  nullfs and some
>  > other file systems (portal and umapfs at least) just don't initialize
>  > most of mnt_stat (except by bzeroing it).  This untested fix for nullfs
>  > was obtained from union[fs].
>  > 
>  > diff -c2 null_vfsops.c~ null_vfsops.c
>  > *** null_vfsops.c~	Mon Oct 13 21:46:00 1997
>  > --- null_vfsops.c	Mon Dec 22 04:32:11 1997
>  > ***************
>  > *** 199,202 ****
>  > --- 199,203 ----
>  >   	    &size);
>  >   	bzero(mp->mnt_stat.f_mntfromname + size, MNAMELEN - size);
>  > + 	(void)nullfs_statfs(mp, &mp->mnt_stat, p);
>  >   #ifdef NULLFS_DIAGNOSTIC
>  >   	printf("nullfs_mount: lower %s, alias at %s\n",
>  > 
>  > Bruce
>  
I am the perpetrator of the f_iosize evil.  Maybe we need to reevaluate
the design of this.


-- 
John                  | Never try to teach a pig to sing,
dyson@freebsd.org     | it just makes you look stupid,
jdyson@nc.com         | and it irritates the pig.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712260635.BAA08052>