Date: Thu, 29 Jul 2004 23:25:27 -0700 (PDT) From: Brian Buchanan <bwb@holo.org> To: tjr@freebsd.org Cc: stable@freebsd.org Subject: Re: nullfs in 4.10 Message-ID: <20040729231325.C332-100000@thought.holo.org>
next in thread | raw e-mail | index | archive | help
Tim, I've been experimenting with your nullfs patch for 4-STABLE. I've found that I can easily reproduce a bug involving one nullfs mounted inside another nullfs. It appears that the null_lock for the vnode representing the root directory of the interior nullfs does not get released. Any subsequent process attempting to traverse into that part of the filesystem gets stuck waiting in "nullnode". What I'm doing is: mount_nullfs -o ro /usr/jail/template /usr/jail/jail1 mount_nullfs -o ro /usr/ports /usr/jail/jail1/usr/ports head /usr/jail/jail1/usr/ports/Makefile head /usr/jail/jail1/usr/ports/Makefile (hangs) /usr/jail/template contains a fresh FreeBSD distribution. /usr/ports is NFS-mounted from a remote host. If instead of the "head ..." stuff, I do a "find /usr/jail/jail1/usr/ports -type f", the system promptly panics with "draining against myself". This appears to be due to attempting a LK_DRAIN operation against the root dir vnode lock that the process still holds. Unfortunately, due to my inexperience with filesystem locking in FreeBSD, I haven't been able to determine why the lock isn't being released. I just thought I'd provide some feedback in case you're still working on this. - B -- Brian Buchanan, CISSP bwb@holo.org -------------------------------------------------------------------------- FreeBSD - The Power to Serve http://www.freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040729231325.C332-100000>