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

Jaime Peñalba jpenalbae at gmail.com
Thu Sep 30 15:44:29 UTC 2004


On Thu, 30 Sep 2004 17:02:22 +0200, christophe.varoqui at free.fr
<christophe.varoqui at free.fr> wrote:
> 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 ?)
>

Im using debian woody, with some unofficial packages...

pop1:/usr# grep -R " CLONE_NEWNS" *
pop1:/usr#

it is defined on kernel headers, but not on my libc...

pop1:~/kernel/linux# grep -R " CLONE_NEWNS" *
fs/namespace.c: if (!(flags & CLONE_NEWNS))
include/linux/sched.h:#define CLONE_NEWNS       0x00020000      /* New
namespace group? */

What can i do? If i include kernel headers errors are even worse...

> > 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

Thanks a lot, i will look for it.

>
> Anyway, multibus is fine with HSV controlers : even in multibus, failing paths
> (ghosts paths too) will be isolated in a secondary path group.
> 
So, failover will work well using multibus? i mean if one fibre
comtroller is removed, it will use only one, and when the other
controller is added again multibus would work again using both
controllers? sorry, i cannot make too many tests because the hardware
isnt our, and im not there to unplug the fibre wire.

Thanks,
Jaime.




More information about the dm-devel mailing list