> multipath/main.c lines 629-640 > > 1) mp->pg at this point is NULL (0x0, at least for me), causing segfaults. It shouldn't. I can add a safety-net at that point but better you investigate what goes wrong before that point. > 2) The code doesn't do anything useful (unless I'm missing something). It > sprintf's into p, but never prints p out. > Don't oversight that p = mp->params, which is the string that gets fed to the device-mapper via ioctl in setup_map(). setup_map(mp) \_ select iopolicy for this multipath \_ apply the iopolicy to mp->pathvec (vector of paths), store result in mp->pg (vector of vectors of paths) \_ assemble_map() transforms mp->pg into mp-params string, formatted according to device-mapper params style \_ select between CREATE or UPDATE device map \_ do the device-mapper driving normally, mp->pathvec can't be null at that point. check with a "make DEBUG=3" if an iopolicy is selected, because I can't see how an iopolicy can loose paths in the transformation. regards, -- christophe varoqui <christophe.varoqui@xxxxxxx>