Giantless VFS.

Jeff Roberson jroberson at chesapeake.net
Mon Nov 29 22:24:57 PST 2004


On Mon, 22 Nov 2004, Jeremie Le Hen wrote:

> Hi Jeff,
>
> > I haven't received any feedback from the list though.  I hope people are
> > testing it.  Perhaps the silence indicates universal success? :-)
>
> I have just tested your patch.  It compiles like a charm.  FYI, my
> kernel have MUTEX_DEBUG, INVARIANTS and WITNESS enabled, but no
> PREEMPTION.
> While using my system with debug.mpsavevfs=1, I encountered two different
> panics.  (Sorry, I do not have a serial cable plugged into my laptop and
> manual writing of hexadecimal addresses is very annoying.)

Thanks, this was plenty of information.  I have these fixed and I will
post a new patch in a day or so.

Cheers,
Jeff

>
> The first one seems to be related to union mounts as when I use Tobias
> Roth's profile.sh (which union mounts a vnode md(4) device over /etc)
> `ls /etc' panics the system but when I don't have the mount, everything
> seems to work :
> panic: mutex Giant not owned at ../../../kern/vfs_vnops.c:962
> db> trace
> kdb_enter()
> panic()
> _mtx_assert()
> vn_write_suspend_wait()
> ufs_inactive()
> ufs_vnoperate()
> vput()
> getdirentries()
> syscall()
>
>
> The second one appeared just when I ask bash(1) to complete a command
> name : it has to scan all directories from $HOME and stat(2) every files
> in them.  Here is the panic() :
> Memory modified after free 0xc1ddc300 (252) val=c1df59c4 @ 0xc1ddc374
> panic: Most recently used by UFS mount
> kdb_enter()
> panic()
> mtrash_ctor()
> uma_zalloc_arg()
> malloc()
> fdinit()
> fdcopy()
> fork1()
> fork()
> syscall()
>
>
> I hope this will help.
> Best regads,
> --
> Jeremie Le Hen
> jeremie at le-hen.org
>


More information about the freebsd-current mailing list