[dm-devel] multipath prio_callout broke from 5.2 to 5.3

Christopher Chen muffaleta at gmail.com
Fri Apr 24 15:31:22 UTC 2009


On Thu, Apr 23, 2009 at 11:27 PM, Benjamin Marzinski
<bmarzins at redhat.com> wrote:
> On Thu, Apr 23, 2009 at 12:08:32PM -0600, Ty! Boyack wrote:
>> This thread has been great information since I'm looking at the same type
>> of thing.  However it raises a couple of (slightly off-topic) questions for
>> me.
>> My recent upgrade to fedora 10 broke my prio_callout bash script just like
>> you described, but my getuid_callout (a bash script that calls udevadm,
>> grep, sed, and iscsi_id) runs just fine.  Are the two callouts handled
>> differently?
>
> Fedora 10 uses the same method as upstream, priority callouts have been
> replaced by priority modules. These are dynamic shared objects that get
> loaded by multipath.  Because of this, multipath doesn't use a private
> namespace, so it can use scripts without restrictions for the getuid_callout.
>
>>
>> Also, is there an easy way to know what tools are in the private namespace
>> already?  My prio_callout script calls two other binaries: /sbin/udevadm
>> and grep.  If I go to C-code, handling grep's functions myself is no
>> problem, but I'm not confident about re-implementing what udevadm does.
>> Can I assume that since /sbin/udevadm is in /sbin that it will be available
>> to call via exec()?  Or would I be right back where we are with the bash
>> scripting, as in having to include a dummy device as you described?
>
> Sorry, the C code is necessary now.
>
>> Finally, in my case I've got two redundant iscsi networks, one is 1GbE, and
>> the other is 10GbE.  In the past I've always had symetric paths, so I've
>> used round-robin/multibus.  But I want to focus traffic on the 10GbE path,
>> so I was looking at using the prio callout.  Is this even necessary?  Or
>> will round-robin/multibus take full advantage of both paths?  I can see
>> round-robin on that setup resulting in either around 11Gbps or 2 Gbps,
>> depending on whether the slower link becomes a limiting factor.  I'm just
>> wondering if I am making things unnecessarily complex by trying to set
>> priorities.
>
> With round-robin, you will send half your IO to the slow path.  A
> priority callout makes sense here.
>
>> Thanks for all the help.

I ended up biting the bullet and writing a C program to do the
priority calculations.

m2c

cc

-- 
Chris Chen <muffaleta at gmail.com>
"I want the kind of six pack you can't drink."
-- Micah




More information about the dm-devel mailing list