Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Dec 1997 09:50:01 -0800 (PST)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs
Subject:   Re: kern/5355: Fix for NULLFS problems
Message-ID:  <199712211750.JAA14594@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/5355; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: cschuber@uumail.gov.bc.ca, freebsd-gnats-submit@FreeBSD.ORG
Cc:  Subject: Re: kern/5355: Fix for NULLFS problems
Date: Mon, 22 Dec 1997 04:41:45 +1100

 >>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



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