I verified that this bug is *NOT* fixed by trying the exact identical configuration (which is as minimal as possible) both with Ubuntu Trusty and with Scientific Linux 6 (RHEL6 clone). The test machine is a Cisco B200M2 blade server, using the Cisco VIC FCoE HBA (fnic.ko driver). The storage array is an EMC VNX5300, which is reached via FCoE (inside the Cisco UCS infrastructure) and then traditional FC fabric.
The following console output is taken with Trusty installed. Note that it was fully upgraded. After creating /etc/multipath.conf with the indicated contents, update-initramfs was run and the system rebooted, just to make sure the settings had taken effect. As you can see from the output, the dev_loss_tmo and fast_io_fail_tmo settings are *NOT* applied:
This shows the exact same multipath.conf file being used on SL6, and in this case the sysfs settings *ARE* applied when the multipath map is registered (no reboot required):
I verified that this bug is *NOT* fixed by trying the exact identical configuration (which is as minimal as possible) both with Ubuntu Trusty and with Scientific Linux 6 (RHEL6 clone). The test machine is a Cisco B200M2 blade server, using the Cisco VIC FCoE HBA (fnic.ko driver). The storage array is an EMC VNX5300, which is reached via FCoE (inside the Cisco UCS infrastructure) and then traditional FC fabric.
The following console output is taken with Trusty installed. Note that it was fully upgraded. After creating /etc/multipath.conf with the indicated contents, update-initramfs was run and the system rebooted, just to make sure the settings had taken effect. As you can see from the output, the dev_loss_tmo and fast_io_fail_tmo settings are *NOT* applied:
=-=-=-=-=-=-=-= osl2:~$ cat /etc/multipath.conf
vendor ".*"
product ".*"
fast_ io_fail_ tmo 3
dev_loss_ tmo 2147483647
tore@ucstest-
devices {
device {
}
}
multipaths {
wwid 3600601603a7132 0022967e0a1f38e 411
alias bootvolume osl2:~$ sudo multipath -ll 20022967e0a1f38 e411) dm-0 DGC,VRAID osl2:~$ grep . /sys/class/ fc_remote_ ports/rport- */*tmo fc_remote_ ports/rport- 0:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 0:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 0:0-1/dev_ loss_tmo: 30 fc_remote_ ports/rport- 0:0-1/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 0:0-2/dev_ loss_tmo: 30 fc_remote_ ports/rport- 0:0-2/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-1/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-1/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-2/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-2/fast_ io_fail_ tmo:off osl2:~$ uname -r osl2:~$ md5sum /etc/multipath.conf d7e62b5f2e8d675 ff /etc/multipath.conf osl2:~$ echo 3 | sudo tee /sys/class/ fc_remote_ ports/rport- */fast_ io_fail_ tmo osl2:~$ echo 2147483647 | sudo tee /sys/class/ fc_remote_ ports/rport- */dev_loss_ tmo osl2:~$ grep . /sys/class/ fc_remote_ ports/rport- */*tmo fc_remote_ ports/rport- 0:0-0/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 0:0-0/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 0:0-1/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 0:0-1/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 0:0-2/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 0:0-2/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 1:0-0/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 1:0-0/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 1:0-1/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 1:0-1/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 1:0-2/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 1:0-2/fast_ io_fail_ tmo:3 osl2:~$ dpkg -l multipath-tools Unknown/ Install/ Remove/ Purge/Hold Not/Inst/ Conf-files/ Unpacked/ halF-conf/ Half-inst/ trig-aWait/ Trig-pend /Reinst- required (Status,Err: uppercase=bad) ======= ======= ======= ======= ======= -====== ======= ======= ====-== ======= ======= ======= =-===== ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======
multipath {
}
}
tore@ucstest-
bootvolume (3600601603a713
size=50G features='1 queue_if_no_path' hwhandler='1 emc' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| |- 0:0:1:0 sdb 8:16 active ready running
| `- 1:0:1:0 sdd 8:48 active ready running
`-+- policy='round-robin 0' prio=0 status=enabled
|- 1:0:0:0 sdc 8:32 active ready running
`- 0:0:0:0 sda 8:0 active ready running
tore@ucstest-
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
tore@ucstest-
3.13.0-62-generic
tore@ucstest-
27a62898e80a0bc
tore@ucstest-
3
tore@ucstest-
2147483647
tore@ucstest-
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
tore@ucstest-
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii multipath-tools 0.4.9-3ubuntu7.4 amd64 maintain multipath block
=-=-=-=-=-=-=-=
This shows the exact same multipath.conf file being used on SL6, and in this case the sysfs settings *ARE* applied when the multipath map is registered (no reboot required):
=-=-=-=-=-=-=-= 358.23. 2.el6.x86_ 64 mapper- multipath mapper- multipath- 0.4.9-80. el6.x86_ 64 fc_remote_ ports/rport- */*tmo fc_remote_ ports/rport- 1:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-1/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-1/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-2/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-2/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 2:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 2:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 2:0-1/dev_ loss_tmo: 30 fc_remote_ ports/rport- 2:0-1/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 2:0-2/dev_ loss_tmo: 30 fc_remote_ ports/rport- 2:0-2/fast_ io_fail_ tmo:off d7e62b5f2e8d675 ff /etc/multipath.conf 20022967e0a1f38 e411) undef DGC,VRAID fc_remote_ ports/rport- */*tmo fc_remote_ ports/rport- 1:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 1:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 1:0-1/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 1:0-1/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 1:0-2/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 1:0-2/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 2:0-0/dev_ loss_tmo: 30 fc_remote_ ports/rport- 2:0-0/fast_ io_fail_ tmo:off fc_remote_ ports/rport- 2:0-1/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 2:0-1/fast_ io_fail_ tmo:3 fc_remote_ ports/rport- 2:0-2/dev_ loss_tmo: 2147483647 fc_remote_ ports/rport- 2:0-2/fast_ io_fail_ tmo:3
[root@ucstest-osl2 ~]# uname -r
2.6.32-
[root@ucstest-osl2 ~]# rpm -qa device-
device-
[root@ucstest-osl2 ~]# grep . /sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
[root@ucstest-osl2 ~]# md5sum /etc/multipath.conf
27a62898e80a0bc
[root@ucstest-osl2 ~]# multipath -v 2
Aug 26 07:06:34 | 35000c50042a362cb: ignoring map
create: bootvolume (3600601603a713
size=50G features='0' hwhandler='0' wp=undef
|-+- policy='round-robin 0' prio=1 status=undef
| `- 1:0:0:0 sdb 8:16 undef ready running
|-+- policy='round-robin 0' prio=1 status=undef
| `- 1:0:1:0 sdc 8:32 undef ready running
|-+- policy='round-robin 0' prio=1 status=undef
| `- 2:0:0:0 sdd 8:48 undef ready running
`-+- policy='round-robin 0' prio=1 status=undef
`- 2:0:1:0 sde 8:64 undef ready running
[root@ucstest-osl2 ~]# grep . /sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
/sys/class/
=-=-=-=-=-=-=-=
Tore