devfs: panic on vrele() in nresolve / status of devfs
Alex Hornung
ahornung at gmail.com
Sun May 31 02:37:13 PDT 2009
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
>
More information about the Kernel
mailing list