> In message <[EMAIL PROTECTED]>, Brent Verner writes:
> >On 04 Sep 2001 at 10:36 (+0200), Poul-Henning Kamp wrote:
> >| 
> >| Assignment:
> >| 
> >| The v_tag element in struct vnode is a debugging aid, but unfortunately
> >| it is implemented in a way which means that adding a filesystem means
> >| modifying the definition in <sys/vnode.h>.
> >| 
> >| Convert the v_tag to an "const char *" and have the filesystems put
> >| their name in there instead.
> >| 
> >| The v_tag has been abused a few places, easily recognizable by the fact
> >| that the kernel should never inspect the value of v_tag.
> >| These places should be easily changeable to use the new representation.
> >| Please mark them with a big fat "/*XXX: ABUSE OF v_tag */" comment.
> >
> >#include <newbie_kernel_hacker_warning.h>
> >
> >I've done a /cursory/ look over how this v_tag is used.  I'm not sure
> >this is a simple/clean as you propose, since this is used in the 
> >IS_LOCKING_VFS macro, as well as in union_subr.c...
> Well, that is just too bad, because IS_LOCKING_VFS is wrong then.
> The places which inspect v_tag will have to be changed to use
> strcmp() then...

I think that we can add a new vnode flag, say VCANLOCK, so that each
particular VFS can set it if it supports locking, which should allow
to remove pre-defined VFS list from the IS_LOCKING_VFS macro. I can
produce a patch if it sounds reasonably.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to