* dm multipath kernel driver version too old - 2.6.32 @ 2009-12-31 7:59 John A. Sullivan III 2010-01-01 16:00 ` Pasi Kärkkäinen 2010-01-02 0:24 ` Mike Snitzer 0 siblings, 2 replies; 8+ messages in thread From: John A. Sullivan III @ 2009-12-31 7:59 UTC (permalink / raw) To: dm-devel 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2009-12-31 7:59 dm multipath kernel driver version too old - 2.6.32 John A. Sullivan III @ 2010-01-01 16:00 ` Pasi Kärkkäinen 2010-01-02 0:24 ` Mike Snitzer 1 sibling, 0 replies; 8+ messages in thread From: Pasi Kärkkäinen @ 2010-01-01 16:00 UTC (permalink / raw) To: device-mapper development On Thu, Dec 31, 2009 at 02:59:26AM -0500, John A. Sullivan III 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 > Are you using the dm-multipath rpm that comes with CentOS/RHEL? I believe that dm-multipath version requires the CentOS/RHEL kernel (because of the patches Redhat has applied to that kernel). You might have better luck using the upstream dm-multipath with the upstream kernel. -- Pasi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2009-12-31 7:59 dm multipath kernel driver version too old - 2.6.32 John A. Sullivan III 2010-01-01 16:00 ` Pasi Kärkkäinen @ 2010-01-02 0:24 ` Mike Snitzer 2010-01-02 1:31 ` John A. Sullivan III 2010-01-02 23:25 ` John A. Sullivan III 1 sibling, 2 replies; 8+ messages in thread From: Mike Snitzer @ 2010-01-02 0:24 UTC (permalink / raw) To: device-mapper development On Thu, Dec 31 2009 at 2:59am -0500, John A. Sullivan III <jsullivan@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. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2010-01-02 0:24 ` Mike Snitzer @ 2010-01-02 1:31 ` John A. Sullivan III 2010-01-02 23:25 ` John A. Sullivan III 1 sibling, 0 replies; 8+ messages in thread From: John A. Sullivan III @ 2010-01-02 1:31 UTC (permalink / raw) To: device-mapper development 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@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. > > -- > dm-devel mailing list > dm-devel@redhat.com > https://www.redhat.com/mailman/listinfo/dm-devel Thanks very, very much to both respondents. I was feeling quite befuddled. I'll give upstream a try and see how I fare. Thanks again - John ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2010-01-02 0:24 ` Mike Snitzer 2010-01-02 1:31 ` John A. Sullivan III @ 2010-01-02 23:25 ` John A. Sullivan III 2010-01-03 0:17 ` John A. Sullivan III 1 sibling, 1 reply; 8+ messages in thread From: John A. Sullivan III @ 2010-01-02 23:25 UTC (permalink / raw) To: device-mapper development 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@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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2010-01-02 23:25 ` John A. Sullivan III @ 2010-01-03 0:17 ` John A. Sullivan III 2010-01-03 17:04 ` Pasi Kärkkäinen 0 siblings, 1 reply; 8+ messages in thread From: John A. Sullivan III @ 2010-01-03 0:17 UTC (permalink / raw) To: device-mapper development; +Cc: pmdaws On Sat, 2010-01-02 at 18:25 -0500, John A. Sullivan III wrote: > 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@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 <snip> Sorry to be a pest but I'm a bit out of my depth . . . well, maybe more than a bit. From examining main.c in the various tarballs, I am assuming 0.4.8 is indeed what I want. Now, what exactly do I do? Do I simply compile the multipath directory and replace the resultant binaries or do I build and replace everything? I don't want to destroy my data storage by mixing versions but I also don't want to step too far outside the official packaging. Any guidance would be greatly appreciated. Thanks - John ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2010-01-03 0:17 ` John A. Sullivan III @ 2010-01-03 17:04 ` Pasi Kärkkäinen 2010-01-04 17:59 ` John A. Sullivan III 0 siblings, 1 reply; 8+ messages in thread From: Pasi Kärkkäinen @ 2010-01-03 17:04 UTC (permalink / raw) To: device-mapper development; +Cc: pmdaws On Sat, Jan 02, 2010 at 07:17:08PM -0500, John A. Sullivan III wrote: > On Sat, 2010-01-02 at 18:25 -0500, John A. Sullivan III wrote: > > 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@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 > <snip> > Sorry to be a pest but I'm a bit out of my depth . . . well, maybe more > than a bit. From examining main.c in the various tarballs, I am > assuming 0.4.8 is indeed what I want. Now, what exactly do I do? > > Do I simply compile the multipath directory and replace the resultant > binaries or do I build and replace everything? I don't want to destroy > my data storage by mixing versions but I also don't want to step too far > outside the official packaging. Any guidance would be greatly > appreciated. Thanks - John > You could always grab the latest device-mapper-multipath src.rpm from Fedora rawhide and re-build it on your setup for EL5. device-mapper-multipath-0.4.9-11.fc13.src.rpm seems to be the latest in Fedora. (Note that the new rpms in Fedora 12/13 use different compression/format, so EL5 rpm tool might not be able to install/handle that src.rpm..) -- Pasi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: dm multipath kernel driver version too old - 2.6.32 2010-01-03 17:04 ` Pasi Kärkkäinen @ 2010-01-04 17:59 ` John A. Sullivan III 0 siblings, 0 replies; 8+ messages in thread From: John A. Sullivan III @ 2010-01-04 17:59 UTC (permalink / raw) To: device-mapper development; +Cc: pmdaws On Sun, 2010-01-03 at 19:04 +0200, Pasi Kärkkäinen wrote: > On Sat, Jan 02, 2010 at 07:17:08PM -0500, John A. Sullivan III wrote: > > On Sat, 2010-01-02 at 18:25 -0500, John A. Sullivan III wrote: > > > 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@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 > > <snip> > > Sorry to be a pest but I'm a bit out of my depth . . . well, maybe more > > than a bit. From examining main.c in the various tarballs, I am > > assuming 0.4.8 is indeed what I want. Now, what exactly do I do? > > > > Do I simply compile the multipath directory and replace the resultant > > binaries or do I build and replace everything? I don't want to destroy > > my data storage by mixing versions but I also don't want to step too far > > outside the official packaging. Any guidance would be greatly > > appreciated. Thanks - John > > > > You could always grab the latest device-mapper-multipath src.rpm from > Fedora rawhide and re-build it on your setup for EL5. > > device-mapper-multipath-0.4.9-11.fc13.src.rpm seems to be the latest in Fedora. > > (Note that the new rpms in Fedora 12/13 use different compression/format, > so EL5 rpm tool might not be able to install/handle that src.rpm..) <snip> Thanks, Pasi. I thought, rather than take a chance with that, I would simply use the make rpm target included with 0.4.8. However, it produces an error: error: Installed (but unpackaged) file(s) found: /etc/udev/rules.d/kpartx.rules /lib/udev/kpartx_id /sbin/mpath_prio_hp_sw /usr/share/man/man5/multipath.conf.5.gz RPM build errors: Installed (but unpackaged) file(s) found: /etc/udev/rules.d/kpartx.rules /lib/udev/kpartx_id /sbin/mpath_prio_hp_sw /usr/share/man/man5/multipath.conf.5.gz make: *** [rpm] Error 1 Not being an expert in building rpms (this would be my first), and not wanting to mangle my storage, I thought I had better ask how to handle it. Do I add the files to the spec file or do I remove them from Makefile? I suppose that's another way of asking if these are required for CentOS or if they are Debian specific? Thanks - John -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-01-04 17:59 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-12-31 7:59 dm multipath kernel driver version too old - 2.6.32 John A. Sullivan III 2010-01-01 16:00 ` Pasi Kärkkäinen 2010-01-02 0:24 ` Mike Snitzer 2010-01-02 1:31 ` John A. Sullivan III 2010-01-02 23:25 ` John A. Sullivan III 2010-01-03 0:17 ` John A. Sullivan III 2010-01-03 17:04 ` Pasi Kärkkäinen 2010-01-04 17:59 ` John A. Sullivan III
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.