Giantless VFS.
Jeremie Le Hen
jeremie at le-hen.org
Mon Nov 22 14:36:35 PST 2004
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.)
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