Date: Tue, 17 Jun 2003 15:31:30 +0200 From: Pawel Jakub Dawidek <nick@garage.freebsd.pl> To: "Tim J. Robbins" <tjr@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/fs/nullfs null.h null_subr.c null_vnops.c Message-ID: <20030617133130.GF38547@garage.freebsd.pl> In-Reply-To: <200306170852.h5H8qjgg087299@repoman.freebsd.org> References: <200306170852.h5H8qjgg087299@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030617133130.GF38547>