[OpenAFS-port-darwin] ufs_abortop

Sebastian Hagedorn Hagedorn@uni-koeln.de
Thu, 25 Sep 2003 20:29:20 +0200


-- Chaskiel M Grundman <cg2v@andrew.cmu.edu> is rumored to have mumbled on=20
Donnerstag, 25. September 2003 12:55 Uhr -0400 regarding Re:=20
[OpenAFS-port-darwin] ufs_abortop:

> --On Thursday, September 25, 2003 14:25:18 +0200 Sebastian Hagedorn
> <Hagedorn@uni-koeln.de> wrote:
>
>> how about engaging in a thought experiment ... imagine there were a new
>> version of the Darwin kernel that didn't have ufs_abortop any more, so
>> that the following message would appear if you tried to kextload
>> afs.kext:
>
> The implimentation of the abort op for every filesystem that impliments =
it
> seems to boil down to:
>
> int
> xxx_abortop(ap)
>         struct vop_abortop_args /* {
>                 struct vnode *a_dvp;
>                 struct componentname *a_cnp;
>         } */ *ap;
> {
>
>         if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) =3D=3D HASBUF)
>                 FREE_ZONE(ap->a_cnp->cn_pnbuf,
> ap->a_cnp->cn_pnlen,M_NAMEI);         return (0);
> }
>
> Unfortunately, nop_abortop *doesn't* do that, so we cannot just use that.
> IIRC, The reference to ufs_abortop was used because that's what nfs did =
at
> the time the afs port to darwin was done. It has nothing to do with afs
> using a ufs backend. if you create an afs_vop_abortop based on the above
> and use it instead, you should be ok.

Thanks, that seems to work!
--
Sebastian Hagedorn M.A. - RZKR-R1 (Flachbau), Zi. 18, Robert-Koch-Str. 10
Zentrum f=FCr angewandte Informatik - Universit=E4tsweiter Service RRZK
Universit=E4t zu K=F6ln / Cologne University - Tel. +49-221-478-5587