DragonFly kernel List (threaded) for 2009-05
DragonFly BSD
DragonFly kernel List (threaded) for 2009-05
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

devfs: panic on vrele() in nresolve / status of devfs


From: Alex Hornung <ahornung@xxxxxxxxx>
Date: Sat, 30 May 2009 13:04:18 +0100

Hi all,

I'm running again into problems related to referencing and locking of
vnodes. 
This time it's in nresolve on vrele(vp) where vp is a newly allocated
vnode (or recycled if possible). vrele() causes a page fault when the
vnode is a device node. 
It doesn't cause any problems as far as I've seen with any other type
(directory, symlink). I can't quite understand what could be causing
this.

devfs_nresolve() can be found in devfs_vnops.c and devfs_allocv() can be
found in devfs_core.c. If anyone can offer me his insight on what could
be causing this problem I'd appreciate it.

My current code is at:
http://gitweb.dragonflybsd.org/~alexh/dragonfly.git/tree/aae02cbf0350ca50b64b381042f7eea01a44c1bc:/sys/vfs/devfs


About devfs status:
While I'm still dealing with the above panic and the code isn't cleaned
up and there might still be some locking issues, devfs already creates
devices dynamically, provides an automated cleanup for empty directories
and aliases (links) to devices that have been removed, and allows to
create symlinks. Right now I'm working on getting the interface to the
device itself to work (hence the above panic which occurs doing a
cat /mnt/null > test  or for that matter any other device node).


Thank you in advance,

Alex Hornung





[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]