Red Hat Bugzilla – Bug 592494
multipath.conf settings does not override the default hwtable settings
Last modified: 2010-11-10 15:09:42 EST
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.
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
path_selector "round-robin 0"
hardware_handler "1 rdac"
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
Steps to Reproduce:
1. Install RHEL 6
2. Present some Luns from LSI storage
3. update the multipath.conf
4. restart the multipathd deamon.
Multipath -ll output did not show the updated no_path_retry parameter.
Multipath -ll should show the updated no_path_retry parameter.
However, I did a little experimenet. I changed the vendor parameter in multipath.conf as below.
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
/* 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,
multipath should be looking for matches from user supplied configuration sections first. Apparently, it's not.
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.
The above combination does not work.
But, when i changed the multipath.conf as below(to match hwtable.c) then it works fine.
Here are some packages that should fix this problem:
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
Multipath will now look at the user supplied configurations first.
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.
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...
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.