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.