Oh dear, please disregard my question. I missed that vp->v_ops is a struct vop_ops ** and not struct vop_ops *.
On Sat, 2009-05-30 at 13:04 +0100, Alex Hornung wrote: > 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 >
