[dm-devel] dm multipath kernel driver version too old - 2.6.32
John A. Sullivan III
jsullivan at opensourcedevel.com
Sat Jan 2 23:25:50 UTC 2010
On Fri, 2010-01-01 at 19:24 -0500, Mike Snitzer wrote:
> On Thu, Dec 31 2009 at 2:59am -0500,
> John A. Sullivan III <jsullivan at opensourcedevel.com> wrote:
>
> > Hello, all. We are attempting to upgrade our kernel on our VServer
> > hosts from 2.6.28 to 2.6.32.1. After some initial grief, we thought we
> > were successful until multipath kicked in and we received an error
> > message:
> >
> > DM multipath kernel driver version too old
> >
> > In the RAID and LVM section of our kernel configuration, we have enabled
> > Multipath I/O support. We have then created modules for Multipath
> > target and both I/O Path Selectors (in-flight I/Os and service time).
> >
> > We are running fully patched CentOS 5.4. What have we done wrong?
> > Thanks - John
>
> Linux >= 2.6.31 has a DM multipath target version that was bumped to >=
> 1.1.0 (for request-based multipath et al).
>
> The device-mapper-multipath in 5.4 has:
> multipath/main.c: if (dm_prereq(DEFAULT_TARGET, 1, 0, 3))
>
> But 5.4's dm_prereq() is too simplistic to handle the higher DM target
> version numbers that Linux >= 2.6.31 has for the DM multipath target.
>
> Upstream multipath-tools can handle the newer DM target versions
> properly. 5.4's device-mapper-multipath-tools can be patched with
> something like the following (note this is white-space damaged, but you
> get the idea):
>
> @@ -107,10 +107,10 @@ dm_prereq (char * str, int x, int y, int z)
>
> if (!strncmp(str, target->name, strlen(str))) {
> r--;
> -
> - if (target->version[0] >= x &&
> - target->version[1] >= y &&
> - target->version[2] >= z)
> +
> + if ((target->version[0] > x) ||
> + ((target->version[0] == x) && (target->version[1] > y)) ||
> + ((target->version[0] == x) && (target->version[1] == y) && (target->version[2] >= z)))
> r--;
>
> break;
>
> But again: upstream multipath-tools already has a nicer fix.
<snip>
Hmm . . . I'll keep looking but the first fifteen minutes of googling
has not shown me where to find upstream multipath-tools. Everything on
http://christophe.varoqui.free.fr/multipath-tools/ looks quite old.
Where do I find the latest upstream multipath-tools? Thanks - John
More information about the dm-devel
mailing list