[Bug 1578654] [NEW] multipath does not set sysfs params correctly

Dan Streetman dan.streetman+launchpad at canonical.com
Thu May 5 14:19:28 UTC 2016


Public bug reported:

[Impact]

multipath has configuration settings such as "dev_loss_tmo" and
"fast_io_fail_tmo" which multipath uses to change the underlying
device's parameters.  However, it fails to set any of them; it is trying
to write the parameters to the sysfs device's directory, instead of the
attribute file inside the dir.  This results in configuration parameters
that the user provides not having any effect at all, and no error logs
being shown.

The commit 050b24b33d3c60e29f7820d2fb75e84a9edde528 ("multipath: fix
setting sysfs fc timeout parameters") from upstream multipath-tools
fixes the bug by actually using the sysfs attribute files, instead of
the sysfs device directory.

[Test Case]

A system with either fiberchannel or iSCSI drive(s), with multiple
redundant paths to the drive(s), is required.  The FC/iSCSI drives must
be configured and appear in the system, i.e. as /dev/sd* or similar node
that multipath scans.

Check the current value:

(for iSCSI; replace 'sessionN' with the session number, e.g. 'session1')
# cat /sys/class/iscsi_session/sessionN/
(for FC; replace 'rport-N:N-N' with the rport number, e.g. 'rport-0:0-1')
# cat /sys/class/fc_remote_ports/rport-N:N-N/fast_io_fail_tmo

Install multipath-tools, and edit (or create) the /etc/multipath.conf
file.  Add into the defaults section the setting for fast_io_fail_tmo;
if it's already 5, replace 5 shown in the example with a different value
than it's currently set to:

defaults {
  fast_io_fail_tmo 5
}

If the multipath-tools-boot package is installed, rebuild the initramfs
(with update-initramfs -u).

Reboot for the parameter to take effect.

After the system boots back up, multipath should have the drive(s)
listed, e.g. in its 'multipath -ll' listing.

Check the sysfs node that should have been modified:

(for iSCSI; replace 'sessionN' with the session number, e.g. 'session1')
# cat /sys/class/iscsi_session/sessionN/
(for FC; replace 'rport-N:N-N' with the rport number, e.g. 'rport-0:0-1')
# cat /sys/class/fc_remote_ports/rport-N:N-N/fast_io_fail_tmo

It should show the value that was configured in multipath.conf.

[Regression Potential]

none.  This fixes multipath to correctly set sysfs attributes, as it did
not work at all before.

** Affects: multipath-tools (Ubuntu)
     Importance: Medium
     Assignee: Dan Streetman (ddstreet)
         Status: In Progress


** Tags: sts

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to multipath-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1578654

Title:
  multipath does not set sysfs params correctly

Status in multipath-tools package in Ubuntu:
  In Progress

Bug description:
  [Impact]

  multipath has configuration settings such as "dev_loss_tmo" and
  "fast_io_fail_tmo" which multipath uses to change the underlying
  device's parameters.  However, it fails to set any of them; it is
  trying to write the parameters to the sysfs device's directory,
  instead of the attribute file inside the dir.  This results in
  configuration parameters that the user provides not having any effect
  at all, and no error logs being shown.

  The commit 050b24b33d3c60e29f7820d2fb75e84a9edde528 ("multipath: fix
  setting sysfs fc timeout parameters") from upstream multipath-tools
  fixes the bug by actually using the sysfs attribute files, instead of
  the sysfs device directory.

  [Test Case]

  A system with either fiberchannel or iSCSI drive(s), with multiple
  redundant paths to the drive(s), is required.  The FC/iSCSI drives
  must be configured and appear in the system, i.e. as /dev/sd* or
  similar node that multipath scans.

  Check the current value:

  (for iSCSI; replace 'sessionN' with the session number, e.g. 'session1')
  # cat /sys/class/iscsi_session/sessionN/
  (for FC; replace 'rport-N:N-N' with the rport number, e.g. 'rport-0:0-1')
  # cat /sys/class/fc_remote_ports/rport-N:N-N/fast_io_fail_tmo

  Install multipath-tools, and edit (or create) the /etc/multipath.conf
  file.  Add into the defaults section the setting for fast_io_fail_tmo;
  if it's already 5, replace 5 shown in the example with a different
  value than it's currently set to:

  defaults {
    fast_io_fail_tmo 5
  }

  If the multipath-tools-boot package is installed, rebuild the
  initramfs (with update-initramfs -u).

  Reboot for the parameter to take effect.

  After the system boots back up, multipath should have the drive(s)
  listed, e.g. in its 'multipath -ll' listing.

  Check the sysfs node that should have been modified:

  (for iSCSI; replace 'sessionN' with the session number, e.g. 'session1')
  # cat /sys/class/iscsi_session/sessionN/
  (for FC; replace 'rport-N:N-N' with the rport number, e.g. 'rport-0:0-1')
  # cat /sys/class/fc_remote_ports/rport-N:N-N/fast_io_fail_tmo

  It should show the value that was configured in multipath.conf.

  [Regression Potential]

  none.  This fixes multipath to correctly set sysfs attributes, as it
  did not work at all before.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1578654/+subscriptions



More information about the foundations-bugs mailing list