Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jul 2000 14:19:57 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.ORG>
To:        Marius Bendiksen <mbendiks@eunet.no>
Cc:        Adrian Chadd <adrian@FreeBSD.ORG>, Matthew Dillon <dillon@apollo.backplane.com>, Alfred Perlstein <bright@wintelcom.net>, freebsd-arch@FreeBSD.ORG
Subject:   Re: Alterations to vops
Message-ID:  <Pine.NEB.3.96L.1000707141702.67890C-100000@fledge.watson.org>
In-Reply-To: <Pine.BSF.4.05.10007071936010.74828-100000@login-1.eunet.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 7 Jul 2000, Marius Bendiksen wrote:

> Like I stated in the original post; currently, certain operations scan
> through a number of blocks in kernel space. I would like to be able to
> add an off_t to the argument list of said operations, set to VNOVAL by
> the caller, then initialized by the VOP, and incremented by it on each
> pass. The VOP will return a new error code (ERETRY) when the pass only
> partially completed, and the library will iterate.

VNOVAL is evil.  This is not an opinion about the general point your
making, just a comment on the poor design of vop_{get,set}attr.  Right
now, collisions between the usable data space of attributes and the VNOVAL
constant can cause serious pain.  For example, chowning a file to the
integer value of VNOVAL :-).

Ideally, in my mind, calls to vop_setattr() would be replaced with calls
to vop_setextattr, allowing us to get rid of the VNOVAL use.  That said,
I'm not sure I expect that to happen, and there would be namespace issues
if it did.

robert@fledge.watson.org              http://www.watson.org/~robert/
PGP key fingerprint: AF B5 5F FF A6 4A 79 37  ED 5F 55 E9 58 04 6A B1
TIS Labs at Network Associates, Safeport Network Services



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1000707141702.67890C-100000>