github opensvc/multipath-tools 0.13.0
multipath-tools 0.13.0

one day ago

multipath-tools 0.13.0, 2025/10

Major rework of the SCSI Persistent Reservation code

The mpathpersist code had many areas where it did a poor job of
mimicking the behavior of setting up persistent reservations on an
individual device, especially if some paths to the multipath device
were missing or unusable.

Issues improved in this release:

  • Persistent reservation operations in cases where the reservation
    is held held by an unavailable path. For example, when such a key
    is unregistered, libmpathpersist now preempts the old key
    after verifying that the multipath device is holding the reservation.
  • Releasing a reservation held by an unavailable path. This has always
    had code to handle it, but it relied on optional Persistent
    Reservation features. The new code preempts the key and then restores
    the removed registered keys while the device is suspended.
  • Handling removal of keys from paths that were down when the multipath
    device was unregistered.
  • Changing how conflicts on key registration are handled. Instead of
    the old rollback method (which was broken anyway),
    libmpathpersist now retries with REGISTER AND IGNORE as long as the
    REGISTER command completed successfully down some of the paths.
  • Changing when the reservation key is set to fix corner cases on
    failure and registration while paths are coming up.
  • Retrying to fix corner cases when a path is coming up while doing a
    reserve, preempt or clear.
  • Allowing registrations to succeed when there are retryable errors,
    if the paths are actually down.
  • Fixing the reservation key validation in some commands.
  • Handling a race condition that may occur while changing the reservation key
    of a multipath map.
  • Handling preemption of registrations of type "all registrants".

In the course of making these changes, a number of corner cases were fixed,
too. Please consult the commit messages for details.

Other changes

  • Updates to the built-in hardware table:
    • add some NVMe storage array (VASTData, Infinidat, HITACHI VSP)
    • add QSAN
    • add EqualLogic PS

See NEWS.md for previous changes.

Don't miss a new multipath-tools release

NewReleases is sending notifications on new releases.