Date: Tue, 4 Sep 2001 16:42:03 +0300 (EEST) From: Maxim Sobolev <sobomax@FreeBSD.ORG> To: phk@critter.freebsd.dk (Poul-Henning Kamp) Cc: brent@rcfile.org (Brent Verner), current@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Junior Kernel Hacker task: improve vnode->v_tag Message-ID: <200109041343.f84DhO097646@vega.vega.com> In-Reply-To: <12839.999606420@critter> from "Poul-Henning Kamp" at Sep 04, 2001 02:27:00 PM
next in thread | previous in thread | raw e-mail | index | archive | help
> > In message <20010904081337.A8968@rcfile.org>, 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. -Maxim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109041343.f84DhO097646>