From owner-freebsd-hackers Tue Sep 4 6:59:53 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by hub.freebsd.org (Postfix) with ESMTP id 9AA3537B40C; Tue, 4 Sep 2001 06:59:44 -0700 (PDT) Received: from critter (localhost [127.0.0.1]) by critter.freebsd.dk (8.11.4/8.11.4) with ESMTP id f84DxFT57179; Tue, 4 Sep 2001 15:59:15 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: Maxim Sobolev Cc: brent@rcfile.org (Brent Verner), current@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Junior Kernel Hacker task: improve vnode->v_tag In-Reply-To: Your message of "Tue, 04 Sep 2001 16:42:03 +0300." <200109041343.f84DhO097646@vega.vega.com> Date: Tue, 04 Sep 2001 15:59:15 +0200 Message-ID: <57177.999611955@critter> From: Poul-Henning Kamp Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <200109041343.f84DhO097646@vega.vega.com>, Maxim Sobolev writes: >> >> 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 . >> >| >> >| 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 >> > >> >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 phk@FreeBSD.ORG | 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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message