Skip site navigation (1)Skip section navigation (2)
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>