[Port-solaris] vn_setpath

Andrew Deason adeason@sinenomine.net
Fri, 4 Jan 2013 14:55:48 -0500


Solaris 11.1 appears to have gained a new vn_setpath argument. Before,
in Solaris 11, we had:

void vn_setpath(vnode_t *rootvp, struct vnode *startvp, struct vnode *vp,
    const char *path, size_t plen);

And now there is:

void vn_setpath(vnode_t *rootvp, struct vnode *startvp, struct vnode *vp,
    const char *path, size_t plen, boolean_t force);

I can't find any information on what this is. Could we get a hint as to
what this is for, or what it does, ...? I mean, I assume it somehow
'forces' setting the path for the vnode, but I have no idea what the
effects are, why I would set or clear it, etc.

Also, does this mean that a kernel module compiled for Solaris 11 will
have undefined behavior wrt this on a Solaris 11.1 machine? I tried
loading such a module, and it seems to work fine, but I don't know if
there's a problem lurking.

-- 
Andrew Deason
adeason@sinenomine.net