Bug 592494 - multipath.conf settings does not override the default hwtable settings
Summary: multipath.conf settings does not override the default hwtable settings
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: device-mapper-multipath
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Ben Marzinski
QA Contact: Red Hat Kernel QE team
Depends On:
TreeView+ depends on / blocked
Reported: 2010-05-14 23:06 UTC by Babu Moger
Modified: 2010-11-10 20:09 UTC (History)
15 users (show)

Fixed In Version: device-mapper-multipath-0.4.9-21.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-11-10 20:09:42 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Babu Moger 2010-05-14 23:06:36 UTC
Description of problem:
I have noticed this problem during my test on RHEL 6 snapshot 2. 
I have tried to change the default "no_path_retry" parameter for LSI storate.
This is how my devices section in multipath.conf looks like. 

devices {
 device {
  vendor                  "LSI"
  product                 "INF-01-00"
  path_grouping_policy    group_by_prio
  getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
  path_checker            rdac
  path_selector           "round-robin 0"
  hardware_handler        "1 rdac"
  failback                15
  rr_weight               priorities
  no_path_retry           fail

My intention was only to change no_path_retry from quueing to fail. 

I re-started the multipath deamon but the parameter did not change. Multipath -ll showed like this.

mpathax (360080e50001b0982000059ab4be886b0) dm-36 LSI,INF-01-00
size=4.0G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=6 status=active
| `- 8:0:0:44  sdcq 69:224  active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 9:0:0:44  sdcp 69:208  active ghost running

Version-Release number of selected component (if applicable):
RHEL 6 snopshot 2

How reproducible:

Steps to Reproduce:
1. Install RHEL 6
2. Present some Luns from LSI storage
3. update the multipath.conf
4. restart the multipathd deamon.
Actual results:

Multipath -ll output did not show the updated no_path_retry parameter.

Expected results:
Multipath  -ll should show the updated no_path_retry parameter.

Additional info:

However, I did a little experimenet. I changed the vendor parameter in multipath.conf as below. 

 vendor                "(LSI|ENGENIO)"

This worked. I am sure this issue is related how the vendor id is present in the hwtable.c. I have looked at the hwtable.c entry. It is as below. Notice the 
.vendor parameter. 

 /* LSI Generic rdac storage */
                .vendor        = "(LSI|ENGENIO)",
                .product       = "INF-01-00",
                .getuid        = DEFAULT_GETUID,
                .features      = "2 pg_init_retries 50",
                .hwhandler     = "1 rdac",
                .selector      = DEFAULT_SELECTOR,
                .pgpolicy      = GROUP_BY_PRIO,
                .pgfailback    = -FAILBACK_IMMEDIATE,
                .rr_weight     = RR_WEIGHT_NONE,
                .no_path_retry = 15,
                .minio         = DEFAULT_MINIO,
                .checker_name  = RDAC,
                .prio_name     = PRIO_RDAC,

Comment 2 Ben Marzinski 2010-05-20 19:10:08 UTC
multipath should be looking for matches from user supplied configuration sections first.  Apparently, it's not.

Comment 3 Babu Moger 2010-05-20 19:19:07 UTC
One more note..  If it was not clear from my earlier note..

hwtable.c  has the vendor entry as below..
.vendor        = "(LSI|ENGENIO)",

In multipath.conf i passed  the vendor entry is as below.
vendor                  "LSI"

The above combination does not work. 

But, when i changed the multipath.conf as below(to match hwtable.c) then it works fine. 
 vendor                  "(LSI|ENGENIO)"

Comment 4 Ben Marzinski 2010-05-22 00:27:43 UTC
Here are some packages that should fix this problem:


Comment 5 RHEL Program Management 2010-05-25 18:06:31 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for

Comment 6 Ben Marzinski 2010-05-25 19:58:30 UTC
Multipath will now look at the user supplied configurations first.

Comment 7 Babu Moger 2010-05-26 19:45:53 UTC
I have tested the packages from http://people.redhat.com/bmarzins/device-mapper-multipath/rpms/RHEL6/.  The package version is device-mapper-multipath-0.4.9-21.el6.x86_64.rpm.  I am still having issues. The new package seem like reading the values only from "default" section. It does not seem read the values from "device" section.

I see these messsages in the logs. 
May 26 13:55:27 txmpp1 multipathd: sdc: alua not supported
May 26 13:55:27 txmpp1 multipathd: sdb: alua not supported

Default section has alua as the handler.

Comment 8 Babu Moger 2010-05-27 15:37:45 UTC
Sorry for the previous comments. My multipath.conf had issues. I have verified it again.. It is working fine with the latest tools(multipath-0.4.9-21.el6).  This bug can be resolved..   Thanks for your help...

Comment 11 releng-rhel@redhat.com 2010-11-10 20:09:42 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

Note You need to log in before you can comment on or make changes to this bug.