[dm-devel] release 0.4.4 ?
christophe varoqui
christophe.varoqui at free.fr
Wed Apr 20 20:39:56 UTC 2005
On mer, 2005-04-20 at 22:12 +0200, Lars Marowsky-Bree wrote:
> On 2005-04-20T16:20:23, christophe varoqui <christophe.varoqui at free.fr> wrote:
>
> > I guess I'll setup the OSDL environment now, for testing and debugging.
> > Hope to be able to diagnose in a few hours.
>
> Something else is strange.
>
> This is what /sbin/multipath creates:
>
> 0 267249280 multipath 0 1 emc 2 1 round-robin 0 2 1 66:208 1000 8:240 1000 round-robin 0 2 1 65:224 1000 8:0 1000
> action preset to 0
> action set to 4
> create: 3600601607cf30e00164589a37a31d911
> [size=127 GB][features="0"][hwhandler="1 emc"]
> \_ round-robin 0 [first]
> \_ 1:0:1:0 sdat 66:208 [ready ]
> \_ 0:0:1:0 sdp 8:240 [ready ]
> \_ round-robin 0
> \_ 1:0:0:0 sdae 65:224 [ready ]
> \_ 0:0:0:0 sda 8:0 [ready ]
>
> multipathd however:
> ...
> Apr 20 22:09:11 chip multipathd: getprio = /sbin/pp_emc /dev/%n (controler setting)
> Apr 20 22:09:11 chip multipathd: error calling out /sbin/pp_emc /dev/sdp
>
from libmultipath/discovery.c:devinfo() :
if (apply_format(pp->getprio, &buff[0], pp)) {
pp->priority = 1;
} else if (execute_program(buff, prio, 16)) {
condlog(3, "error calling out %s", buff);
pp->priority = 1;
} else
pp->priority = atoi(prio);
A failed exec results in a default path weight.
This code is common to multipath and multipathd
> Resulting in a flat map:
> 3600601607cf30e0070af8bb37a31d911
> [size=133 GB][features="0"][hwhandler="1 emc"]
> \_ round-robin 0 [active][first]
> \_ 0:0:1:12 sdab 65:176 [ready ][active]
> \_ 1:0:0:12 sdaq 66:160 [ready ][active]
> \_ 1:0:1:12 sdbf 67:144 [ready ][active]
> \_ 0:0:0:12 sdm 8:192 [ready ][active]
>
> Which is broken and actually causes the system to misbehave quite
> spectacularly.
>
Indeed.
> What is multipathd doing differently from multipath? The two parts being
> distinct in behaviour is really one of the worst design decisions in the
> entire setup, in my not so humble opinion.
>
Sure, it was acknowledged and corrected from 0.4.2.
Multipathd *never* decides to change a map. All it does is exec
multipath, which means two runs of multipath gave 2 differents maps :
very bad, but nothing to do with code divergence between daemon and
tool.
Regards,
--
christophe varoqui <christophe.varoqui at free.fr>
More information about the dm-devel
mailing list