DragonFly kernel List (threaded) for 2006-04
Re: newer vnode ops
:As I was bashing away at nfs_vnops.c, I noticed that there is a replacement
:for lookup and a comment w.r.t. new vnode ops. Are these doable now?
:(I'm wondering if I can do the new ones or should bash away on the old
: stuff for creating/deleting stuff?)
Yup. You should be able to completely get rid of the old namespace
VOP's by implementing only the newer ones. The kernel only uses the
VOP_N*() versions, but filesystems which do not implement the new
versions (which is nearly all of them at the moment) will drop down
into compatibility routines in kern/vfs_default.c which call the
old versions. ONLY the compatibility code, and possibly code within
a particular VFS, calls the old functions.
In order to convert a filesystem, you must convert all the vop_old*
vnodeops to the new versions, and you have to convert vop_old_lookup
*LAST* because all the compatibility routines for the other vops
will still try to use vop_old_lookup.
:btw, if anyone is interested in seeing what I do to hook into my newer
:nfs client, just email and I can pass along the "bits-de-jur" nfs_vnops.c.
:(Not useful for anything yet, though:-)
:Thanks in advance for any info, rick