[dm-devel] [ANNOUNCE] multipath-tools-0.2.9

christophe.varoqui at free.fr christophe.varoqui at free.fr
Thu Sep 30 15:02:22 UTC 2004


Selon Jaime Peñalba <jpenalbae at gmail.com>:

> Im having some problems compiling multipathd from your latest
> releases, concretely when call "__clone(child, child_stack,
> CLONE_NEWNS, NULL)" is used, wich doesnt come with libc includes:
>
> make[1]: Leaving directory
> `/root/soft/multipath-tools-0.2.9/multipathd/libsysfs'
> gcc-3.3 -pipe -g -Wall -Wunused -Wstrict-prototypes -DDEBUG=1
> -DFLOATING_STACKS -Di386   -c -o main.o main.c
> main.c: In function `get_devmaps':
> main.c:237: warning: long unsigned int format, different type arg (arg 4)
> main.c:237: warning: long unsigned int format, different type arg (arg 5)
> main.c: In function `main':
> main.c:927: warning: implicit declaration of function `__clone'
> main.c:927: error: `CLONE_NEWNS' undeclared (first use in this function)
> main.c:927: error: (Each undeclared identifier is reported only once
> main.c:927: error: for each function it appears in.)
> make: *** [main.o] Error 1
>
please try to locate the CLONE_NEWNS define in the /usr/include/ dir of your
specific distribution and feed back. (what's the distrib anyway ?)

> So im using 0.2.5 version. There is any fix for this? im not very well
> c coder, so i tryed to change the pid varible assignament on 0.2.8
> version from "pid =  sys_clone(CLONE_NEWNS, 0);" to "pid = fork();"
> that compiled for me on 0.2.5 but when i started modified multipathd
> 0.2.8 daemon it removed mysteriously my /bin and /usr/bin, so i came
> back to 0.2.5. There is any workarround about this? im interested on
> new releases...
>
that is expected behaviour.
I switched from fork() to clone() to use the private namespace stuff.
Going back to fork will over-mount /bin, /sbin and /tmp ...

> Also i would like to know how i can change the spread policy by
> default, im using HP HSV100 arrays, wich must use "group_by_tur"
> defined on multipathd.conf and seems to be using "multibus"
>
have a look at /etc/multipath.conf
I dropped samples in the source package

Anyway, multibus is fine with HSV controlers : even in multibus, failing paths
(ghosts paths too) will be isolated in a secondary path group.

> apache1:~/gfs/tmp/multipath-tools-0.2.5/multipathd# multipath -v
> # all paths :
> 600508b4000116370000a00000c00000 (0 0 1 1) /dev/sdb [HSV100          ]
> 600508b4000116370000a00000c00000 (1 0 1 1) /dev/sdd [HSV100          ]
> # all multipaths :
> 600508b4000116370000a00000c00000
>  \_(0 0 1 1) /dev/sdb [HSV100          ]
>  \_(1 0 1 1) /dev/sdd [HSV100          ]
> # device maps :
> U:600508b4000116370000a00000c00000:0 209715200 multipath 1 round-robin
> 2 0 /dev/sdb /dev/sdd
>

regards,
cvaroqui




More information about the dm-devel mailing list