In message <[EMAIL PROTECTED]>, Maxim Sobolev writes:
>> 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.

Yeah, I think that makes a lot of sense.

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED]         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

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

Reply via email to