- When the
kpartxtool tried to delete a loop device that was previously created, and the udev utility had this loop device still open, the delete process would fail with the
kpartxdid not attempt retry this operation. The
kpartxtool has been modified to wait for one second and then retry deleting up to three times after the
EBUSYerror. As a result, loop devices created by
kpartxare now always deleted as expected.
multipathddaemon only checked SCSI IDs when determining World Wide Identifiers (WWIDs) for devices. However, CCISS devices do not support SCSI IDs and could not be used by Device Mapper Multipath. With this update,
multipathdchecks CCISS devices for CCISS IDs properly and the devices are detected as expected.
- Some device configurations in the
/usr/share/doc/device-mapper-multipath-0.X.X/multipath.conf.defaultsfile were out of date. Consequently, if users copied those configurations into the
/etc/multipath.conffile, their devices would be misconfigured. The
multipath.conf.defaultsfile has been updated and users can now copy configurations from it without misconfiguring their devices. Note that copying configurations from the
multipath.conf.defaultsfile is not recommended as the configurations in that file are built into dm-multipath by default.
- Previously, Device Mapper Multipath stored multiple duplicate blacklist entries, which were consequently shown when listing the device-mapper-multipath's configuration. Device Mapper Multipath has been modified to check for duplicates before storing configuration entries and to store only the unique ones.
- Device Mapper Multipath had two Asymmetric Logical Unit Access (ALUA) prioritizers, which checked two different values. Certain ALUA setups were not correctly failing back to the primary path using either prioritizer because both values need to be checked and neither prioritizer checked them both. With this update, configuration options of both ALUA prioritizers now select the same prioritizer function, which checks both values as expected.
- When removing
kpartxdevice partitions, the
multipath -foption accepted only the device name, not the full pathname. Consequently, an attempt to delete a mulitpath device by the full pathname failed if the device had the
kpartxpartitions. Device Mapper Mulitpath has been modified to except the full pathname, when removing
kpartxdevice partitions and deleting process no longer fails in the described scenario.
- Previously, the
multipath -coption incorrectly listed SCSI devices, which were blacklisted by device type, as valid mulitpath path devices. As a consequence, Device Mapper Multipath could remove the partitions from SCSI devices that never ended up getting multipathed. With this update,
multipath -cnow checks if a SCSI device is blacklisted by device type, and reports it as invalid if it is.
- On reload, if a multipath device was not set to use the
user_friendly_namesparameter or a user-defined alias, Device Mapper Multipath would use its existing name instead of setting the WWID. Consequently, disabling
user_friendly_namesdid not cause the multipath device names to change back to WWIDs on reload. This bug has been fixed and Device Mapper Mulitpath now sets the device name to its WWID if no
user_friendly_namesor user defined aliases are set. As a result, disabling
user_friendly_namesnow allows device names to switch back to WWIDs on reload.
- When the Redundant Disk Array Controller (RDAC) checker returned the
DID_SOFT_ERRORerror, Device Mapper Multipath did not retry running the RDAC checker. This behavior caused Device Mapper Multipath to fail paths for transient issues that may have been resolved if it retried the checker. Device Mapper Multipath has been modified to retry the RDAC checker if it receives the
DID_SOFT_ERRORerror and no longer fails paths due to this error.
- When a multipath vector, which is a dynamically allocated array, was shrunk, Device Mapper Multipath was not reassigning the pointer to the array. Consequently, if the array location was changed by the shrinking, Device Mapper Multipath would corrupt its memory with unpredictable results. The underlying source code has been modified and Device Mapper Multipath now correctly reassigns the pointer after the array has been shrunk.
- Device Mapper Multipath was occasionally assigning a WWID with a white space for AIX VDASD devices. As a consequence, there was no single blacklist of WWID entry that could blacklist the device on all machines. With this update, Device Mapper Multipath assigns WWIDs without any white space characters for AIX VDASD devices, so that all machines assign the same WWID to an AIX VDASD device and the user is always able to blacklist the device on all machines.
- If two multipath devices had their aliases swapped, Device Mapper Multipath switched their tables. Consequently, if the user switched aliases on two devices, any application using the device would be pointed to the incorrect Logical Unit Number (LUN). Device Mapper Multipath has been modified to check if the device's new alias matches a different multipath device, and if so, to not switch to it.
- Previously, Device Mapper Multipath did not check the device type and WWID blacklists as soon as this information was available for a path device. Device Mapper Multipath has been modified to check the device type and WWID blacklists as soon as this information is available. As a result, Device Mapper Multipath no longer waits before blacklisting invalid paths.
- Previously, the
multipathddaemon and the
kpartxtool did not instruct the
libdevmapperutility to skip the device creation process and let udev create it. As a consequence, sometimes
libdevmappercreated a block device in the
/dev/mapper/directory, and sometimes udev created a symbolic link in the same directory. With this update,
libdevmapperfrom creating a block device and udev always creates a symbolic link in the
/dev/mapper/directory as expected.
- This enhancement adds a built-in configuration for SUN StorageTek 6180 to Device Mapper Multipath.
- To set up persistent reservations on multipath devices, it was necessary to set it up on all of the path devices. If a path device was added later, the user had to manually add reservations to that path. This enhancement adds the ability to set up and manage SCSI persistent reservations using device-mapper devices with the
mpathpersistutility. As a result, when path devices are added, persistent reservations are set up as well.
- This enhancement updates the
multipathd initscript to load the
dm-multipathdmodule, so that users do not have to do this manually in cases when no
/etc/multipath.conffile is present during boot. Note that it is recommended to create the
multipath.conffile by running the
mpathconf --enablecommand, which also loads the
- When the RDAC path device is in service mode, it is unable to handle I/O requests. With this enhancement, Device Mapper Multipath puts an RDAC path device into a failed state if it is in the service mode.
- This update adds two new options to the defaults and devices sections of the
retain_attached_hw_handeroption and the
detect_priooption. By default, both of these options are set to
noin the defaults section of the
multipath.conffile. However, they are set to
yesin the NETAPP/LUN device configuration file. If
retain_attach_hw_handleris set to
yesand the SCSI layer has attached a hardware handler to the device, Device Mapper Multipath sets the hardware as usual. If
detect_priois set to
yes, Device Mapper Multipath will check if the device supports ALUA. If so, it automatically sets the prioritizer to the
aluavalue. If the device does not support ALUA, Device Mapper Multipath sets the prioritizer as usual. This behavior allows NETAPP devices to work in ALUA or non-ALUA mode without making users change to built-in config.In order for
retain_attached_hw_handlerto work, the SCSI layer must have already attached the device handler. To do this, the appropriate
scsi_dh_XXXmodule, for instance
scsi_dh_alua, must be loaded before the SCSI layer discovers the devices. To guarantee this, add the following parameter to the kernel command line:
- Prior to this update, Device Mapper Multipath did not check for NULL pointers before dereferencing them in the sysfs functions. As a result, the multipathd daemon could crash if a multipath device was resized while a path device was being removed. With this update, Device Mapper Multipath checks for NULL pointers in sysfs functions and no longer crashes when a multipath device is resized at the same time as a path device is removed.
- This update adds a new /etc/multipath.conf file default keyword, "reload_readwrite". If set to "yes", multipathd will listen to path device change events, and if the device has read-write access, it will reload the multipath device. This allows multipath devices to automatically have read-write permissions, as soon as the path devices have read-write access, instead of requiring manual intervention. Thus, when all the path devices belonging to a multipath device have read-write access, the multipath device will automatically allow read-write permissions.