Subject: Re: Make VOP_STRATEGY a real VOP
To: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
From: Greywolf <greywolf@starwolf.com>
List: tech-kern
Date: 01/19/2004 14:44:23
Thus spake Juergen Hannken-Illjes ("JH> ") sometime Today...

JH> > JH> and the conversion is like VOP_STRATEGY(bp) ->
JH> VOP_STRATEGY(bp->b_vp, bp).

JH> > Is this merely a matter of semantics, then?  I suppose consistency is
JH> > a laudable goal and will probably simplify things down the road.  It just
JH> > never made sense to send an object and a subordinate of that same object
JH> > as two separate parameters, since you can extract the sub from the object.
JH>
JH> The file system xxx_strategy() functions call on the vnode of the
JH> block device which is not the same as bp->b_vp. Like this:
JH>
JH> 		vp = ap->amp->devvp;
JH> 		bp->b_dev = vp->v_rdev;
JH> 	-       VOCALL(vp->v_op, VOFFSET(vop_strategy), sp);
JH> 	+       error = VOP_STRATEGY(vp, bp);

...see, NOW it makes sense; the first example didn't seem quite as
logical.

				--*greywolf;
--
22 Ways to Get Yourself Killed While Watching 'The Lord Of The Rings':

#12: Every time someone kills an Orc, yell: "That's what I'm Tolkien about!"
    See how long it takes before you get kicked out of the theatre.