Issued:
2015-07-22
Updated:
2015-07-22

RHBA-2015:1391 - device-mapper-multipath bug fix and enhancement update


Synopsis

device-mapper-multipath bug fix and enhancement update

Type/Severity

Bug Fix Advisory

Topic

Updated device-mapper-multipath packages that fix several bugs and add various enhancements are now available for Red Hat Enterprise Linux 6.

Description

The device-mapper-multipath packages provide tools that use the device-mapper multipath kernel module to manage multipath devices.

This update fixes the following bugs:

  • If the multipathd daemon failed to add a multipath device, in some circumstances, it was freeing the alias and then accessing it and attempting to free it again. Consequently, multipathd terminated unexpectedly. With this update, multipathd no longer frees the alias twice, or attempts to access the freed alias, and thus no longer crashes in the described situation. (BZ#880121)

  • Previously, any target port with the ALUA preference bit set was given a higher priority than all other target ports. Consequently, when a target port had the preference bit set, multipath did not balance load between it and other ports that were equally optimized. With this update, the preference bit only increases the priority of paths that are not already optimized. Now, if the preference bit is set on a non-optimized port, the port is used. However, if the preference bit is set on an optimized port, all optimized ports are used, and multipath loads balance across them. (BZ#1120047)

  • When the parted utility created partitions on an existing multipath device, it raced with the kpartx utility to create the partitions. This could cause device or resource busy errors. Now, kpartx only creates partition devices when the multipath device is activated, and no longer automatically creates partitions when parted is run on existing multipath devices. (BZ#1136966)

  • Previously, a multipath device was not assigned a user_friendly_name by initramfs, which caused a conflict with the name already assigned by the normal system. Because of the name conflict, multipath could try to update the wrong device, and thus cause data corruption. To fix this bug, multipath checks paths to see if a device's user_friendly_name is already assigned, and assigns a new one if it is. (BZ#1148096)

  • Previously, the libmultipath utility was keeping a global cache of sysfs data for all programs, even though this was only necessary for the multipathd daemon. As a consequence, a memory error could occur when multiple threads were using libmultipath without locking. This led to unexpected termination of multithreaded programs using the mpath_persistent_reserve_in() or mpath_persistent_reserve_out() functions. With this update, only multipathd uses the global sysfs data cache, and the described crashes are thus avoided. (BZ#1171862)

  • Previously, the first time the multipath utility recognized a path device, the path device was not claimed in the udev utility, and other programs could race multipath to claim it. As a consequence, multipath systems could fail to boot during installation. With this update, the multipathd daemon now checks the kernel command line on startup. If it has recognized any parameters with a World Wide Identifier (WWID) value, it adds those WWIDs to the list of multipath WWIDs. Devices with those WWIDs are thus claimed the first time they are recognized. As a result, if multipath systems do not boot successfully during installation, users can add mpath.wwid=[WWID] to the kernel command line to work around the problem. (BZ#1175888)

In addition, this update adds the following enhancements:

  • This update adds new built-in configuration for Dell MD36xxf storage arrays. (BZ#978947)

  • With this udpate, multipath autodetects whether an EMC CLARiiON array is set up in ALUA or PNR mode, and correctly configures itself to match. (BZ#997028)

  • Now, the multipathd daemon has two new configuration options "delay_watch_checks" and "delay_wait_checks". The user is recommended to refer to the multipath(8) man page for more information. (BZ#1072081)

Users of device-mapper-multipath are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.

Solution

Before applying this update, make sure all previously released errata relevant to your system have been applied.

For details on how to apply this update, refer to:

https://access.redhat.com/articles/11258

Affected Products

ProductVersionArch
Red Hat Enterprise Linux for Scientific Computing6x86_64
Red Hat Enterprise Linux for Power, big endian6ppc64
Red Hat Enterprise Linux for IBM z Systems6s390x
Red Hat Enterprise Linux Workstation6x86_64
Red Hat Enterprise Linux Workstation6i386
Red Hat Enterprise Linux Server6x86_64
Red Hat Enterprise Linux Server6i386
Red Hat Enterprise Linux Server from RHUI6x86_64
Red Hat Enterprise Linux Server from RHUI6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6x86_64
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension6i386
Red Hat Enterprise Linux Server - Extended Life Cycle Support Extension (for IBM z Systems)6s390x
Red Hat Enterprise Linux Server - Extended Life Cycle Support (for IBM z Systems)6s390x
Red Hat Enterprise Linux Desktop6x86_64
Red Hat Enterprise Linux Desktop6i386

Updated Packages

  • device-mapper-multipath-debuginfo-0.4.9-87.el6.i686.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.ppc64.rpm
  • device-mapper-multipath-0.4.9-87.el6.ppc64.rpm
  • device-mapper-multipath-debuginfo-0.4.9-87.el6.x86_64.rpm
  • device-mapper-multipath-0.4.9-87.el6.s390x.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.s390.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.ppc.rpm
  • device-mapper-multipath-0.4.9-87.el6.i686.rpm
  • device-mapper-multipath-debuginfo-0.4.9-87.el6.ppc.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.x86_64.rpm
  • device-mapper-multipath-debuginfo-0.4.9-87.el6.s390x.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.i686.rpm
  • device-mapper-multipath-debuginfo-0.4.9-87.el6.s390.rpm
  • device-mapper-multipath-0.4.9-87.el6.src.rpm
  • device-mapper-multipath-0.4.9-87.el6.x86_64.rpm
  • kpartx-0.4.9-87.el6.s390x.rpm
  • device-mapper-multipath-libs-0.4.9-87.el6.s390x.rpm
  • kpartx-0.4.9-87.el6.x86_64.rpm
  • kpartx-0.4.9-87.el6.ppc64.rpm
  • kpartx-0.4.9-87.el6.i686.rpm
  • device-mapper-multipath-debuginfo-0.4.9-87.el6.ppc64.rpm

Fixes

CVEs

(none)

References

(none)


Additional information