From owner-freebsd-hackers Fri Dec 19 07:52:31 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id HAA25298 for hackers-outgoing; Fri, 19 Dec 1997 07:52:31 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from passer.osg.gov.bc.ca (passer.osg.gov.bc.ca [142.32.110.29]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id HAA25293 for ; Fri, 19 Dec 1997 07:52:24 -0800 (PST) (envelope-from cy@cschuber.net.gov.bc.ca) Received: (from uucp@localhost) by passer.osg.gov.bc.ca (8.8.8/8.6.10) id HAA13230 for ; Fri, 19 Dec 1997 07:52:22 -0800 (PST) Received: from cschuber.net.gov.bc.ca(142.31.240.113), claiming to be "cwsys.cwsent.com" via SMTP by passer.osg.gov.bc.ca, id smtpdaaDvga; Fri Dec 19 07:52:19 1997 Received: (from uucp@localhost) by cwsys.cwsent.com (8.8.8/8.6.10) id HAA01050 for ; Fri, 19 Dec 1997 07:52:17 -0800 (PST) Message-Id: <199712191552.HAA01050@cwsys.cwsent.com> Received: from localhost.cwsent.com(127.0.0.1), claiming to be "cwsys" via SMTP by localhost.cwsent.com, id smtpd001040; Fri Dec 19 15:51:24 1997 X-Mailer: exmh version 2.0zeta 7/24/97 Reply-to: Cy Schubert - ITSD Open Systems Group From: Cy Schubert - ITSD Open Systems Group X-Sender: cy To: freebsd-hackers@freebsd.org Subject: Nullfs Problems Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 19 Dec 1997 07:51:24 -0800 Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I may have a solution for the nullfs, umapfs, and unionfs panics. The panics are caused by a divide by zero trap when bsize is zero. I've tested this against the ftp server problem posted a short while back. I've been testing this for a short while and since I am not a FreeBSD kernel hacker (my background was originally MVS kernel), I'd like to get some opinions about this before submitting a PR to implement this. --- 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; + err = VOP_BMAP(vp, reqblock, (struct vnode **) 0, &bn, after, before); if (err) Regards, Phone: (250)387-8437 Cy Schubert Fax: (250)387-5766 UNIX Support OV/VM: BCSC02(CSCHUBER) ITSD BITNET: CSCHUBER@BCSC02.BITNET Government of BC Internet: cschuber@uumail.gov.bc.ca Cy.Schubert@gems8.gov.bc.ca "Quit spooling around, JES do it."