From owner-cvs-all@FreeBSD.ORG Tue Jun 17 06:28:55 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4822A37B408; Tue, 17 Jun 2003 06:28:55 -0700 (PDT) Received: from milla.ask33.net (milla.ask33.net [217.197.166.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id F067243FDF; Tue, 17 Jun 2003 06:28:51 -0700 (PDT) (envelope-from nick@milla.ask33.net) Received: by milla.ask33.net (Postfix, from userid 1001) id 08A453ABB51; Tue, 17 Jun 2003 15:31:31 +0200 (CEST) Date: Tue, 17 Jun 2003 15:31:30 +0200 From: Pawel Jakub Dawidek To: "Tim J. Robbins" Message-ID: <20030617133130.GF38547@garage.freebsd.pl> References: <200306170852.h5H8qjgg087299@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="1Ow488MNN9B9o/ov" Content-Disposition: inline In-Reply-To: <200306170852.h5H8qjgg087299@repoman.freebsd.org> X-PGP-Key-URL: http://garage.freebsd.pl/jules.asc X-OS: FreeBSD 4.8-RELEASE i386 X-URL: http://garage.freebsd.pl User-Agent: Mutt/1.5.1i cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/fs/nullfs null.h null_subr.c null_vnops.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jun 2003 13:28:56 -0000 --1Ow488MNN9B9o/ov Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 17, 2003 at 01:52:45AM -0700, Tim J. Robbins wrote: +> tjr 2003/06/17 01:52:45 PDT +>=20 +> FreeBSD src repository +>=20 +> Modified files: +> sys/fs/nullfs null.h null_subr.c null_vnops.c=20 +> Log: +> MFp4: Fix two bugs causing possible deadlocks or panics, and one nit: +> - Emulate lock draining (LK_DRAIN) in null_lock() to avoid deadlocks +> when the vnode is being recycled. +> - Don't allow null_nodeget() to return a nullfs vnode from the wrong +> mount when multiple nullfs's are mounted. It's unclear why these che= cks +> were removed in null_subr.c 1.35, but they are definitely necessary. +> Without the checks, trying to unmount a nullfs mount will erroneously +> return EBUSY, and forcibly unmounting with -f will cause a panic. +> - Bump LOG2_SIZEVNODE up to 8, since vnodes are >256 bytes now. The old +> value (7) didn't cause any problems, but made the hash algorithm +> suboptimal. +> =20 +> These changes fix nullfs enough that a parallel buildworld succeeds. Great work! You susspect there are more problems with nullfs? This file system looks like a very simple thing, maybe it's implementation is too complicate? I'm not sure, but if we forgot about mount flags, etc. (something like hardlink to directory) we only have to do one thing: return correct vnode o= n: # cd /mnt/null/.. Every other operation inside nullfs should be done with functions from original file system. Maybe I'm talking stupid things here, but those two file systems are really helpfull (I'm talking also about unionfs) and it will be great if there will be no BUGS section in manuals for those file systems. --=20 Pawel Jakub Dawidek pawel@dawidek.net UNIX Systems Programmer/Administrator http://garage.freebsd.pl Am I Evil? Yes, I Am! http://cerber.sourceforge.net --1Ow488MNN9B9o/ov Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iQCVAwUBPu8YMj/PhmMH/Mf1AQGyNgQAmvHEcjpxNv23lHdsFrSAXbQtTDV5nTOo t/slIpfKqDB/XDKvFuDaqfrrZUJ2HTZ0RHMhBP34QeaIr4XLfPuOKRIbuif+rpS+ aUNDEV14FEQ4rTPZ1R93wacoZOV49awOQOqhZ/OhyTiYYmTslGcEY4wqPYMI2eMJ bgBYqwC7b1g= =6bqJ -----END PGP SIGNATURE----- --1Ow488MNN9B9o/ov--