Selon Jaime Peñalba <jpenalbae@xxxxxxxxx>: > 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