Skip to content

Releases: opensvc/multipath-tools

multipath-tools 0.14.3

05 Feb 15:14
c2fcdaf

Choose a tag to compare

multipath-tools 0.14.3, 2026/02

  • Fix boot failures with multipath introduced in 0.14.1. Commit 01cc89c.

multipath-tools 0.14.2

02 Feb 14:47
0a189bb

Choose a tag to compare

multipath-tools 0.14.2, 2026/01

Bug fixes

  • Fix a possible NULL pointer dereference in the path purging code.
    Fixes 0.14.0. Commit 86ff48b.

CI

  • Updated the test_kpartx test script, and added it to the
    basic-build-and-ci workflow.

multipath-tools 0.14.1

26 Jan 16:43
f626171

Choose a tag to compare

multipath-tools 0.14.1, 2026/01

Bug fixes

  • kpartx: Fix freeing static buffer when operating on regular files.
    Fixes 0.14.0. Commit fab5d44.
    Fixes #139.
  • Fix initialization of paths that were offline during path detection.
    Commit 1942fb1.
  • Fix printing the "path offline" log message for offline paths that don't
    have a path checker configured. Commit 1a364a1.

Other changes

  • If path devices that are members of multipath maps aren't detected during
    multipathd startup or reconfigure, don't add them to newly created maps
    in the first place. In previous versions, such paths would be added to the
    maps, only to be removed later. Commit a04be55.
  • Improve the detection of "busy" state in the show status command, such
    that reading udev events from udevd is also counted as busy.
    Commit 7fdd93b.

multipath-tools 0.13.1

26 Jan 16:46
3fd8875

Choose a tag to compare

multipath-tools 0.13.1, 2026/01

Bug fixes

  • Make sure multipathd registers keys all paths of a multipath map after
    mpathpersist registered a key for a map. multipathd could fail to do so in
    some cases, e.g. if paths become unavailable or available while the
    registration was taking place. Fixes 0.13.0.
  • Fix mpathpersist --report-capabilities output. Fixes 0.5.0.
  • Improve error handling when retrying REGISTER AND IGNORE persistent
    reservations commands. Fixes 0.13.0.
  • Fix command descriptions in the multipathd man page. Fixes 0.9.2.
  • Fix an undefined symbol error with the LLVM lld linker.
    Fixes #132, 0.10.0.
  • Fix ISO C23 compatibility issue causing errors with new compilers.
  • Fix use-after-free error in free_pgvec().
    Fixes #128, 0.12.0.
  • Fix memory leak caused by not joining the "init unwinder" thread.
    Fixes 0.8.6.
  • Fix memory leaks in kpartx. Fixes any version.
  • Print the warning "setting scsi timeouts is unsupported for protocol" only
    once per protocol. Fixes 0.9.0.
  • Make sure multipath-tools is compiled with the compiler flag
    -fno-strict-aliasing. This turns out to be necessary because our code
    uses techniques like container_of() which don't work well with
    strict aliasing rules.
    Fixes #130.
  • Fix initialization of paths that were offline during path detection.
  • Fix printing the "path offline" log message for offline paths that don't
    have a path checker configured.
  • kpartx: Fix freeing static buffer when operating on regular files.
    Fixes #139.

Other changes

  • Hardware table: add Seagate Exos and Nytro series.
  • Avoid joining threads twice with liburcu 0.14.0 and newer.
  • CI updates (GitHub workflows).
  • Fix CI for cmocka 2.0 by adding the -Wno-error=deprecated-declarations
    compiler flag.
    Fixes #129
  • Add the ASAN=1 and OPT= make variables (see README.md).

multipath-tools 0.12.2

26 Jan 16:48
5bd1163

Choose a tag to compare

multipath-tools 0.12.2, 2026/01

Bug fixes

  • Fix mpathpersist --report-capabilities output. Fixes 0.5.0.
  • Fix command descriptions in the multipathd man page. Fixes 0.9.2.
  • Fix an undefined symbol error with the LLVM lld linker.
    Fixes #132, 0.10.0.
  • Fix ISO C23 compatibility issue causing errors with new compilers.
  • Fix use-after-free error in free_pgvec().
    Fixes #128, 0.12.0.
  • Fix memory leak caused by not joining the "init unwinder" thread.
    Fixes 0.8.6.
  • Fix memory leaks in kpartx. Fixes any version.
  • Print the warning "setting scsi timeouts is unsupported for protocol" only
    once per protocol. Fixes 0.9.0.
  • Make sure multipath-tools is compiled with the compiler flag
    -fno-strict-aliasing. This turns out to be necessary because our code
    uses techniques like container_of() which don't work well with
    strict aliasing rules.
    Fixes #130.
  • Fix initialization of paths that were offline during path detection.
  • Fix printing the "path offline" log message for offline paths that don't
    have a path checker configured.
  • kpartx: Fix freeing static buffer when operating on regular files.
    Fixes #139.

Other changes

  • Hardware table: add Seagate Exos and Nytro series.
  • Avoid joining threads twice with liburcu 0.14.0 and newer.
  • CI updates (GitHub workflows).
  • Fix CI for cmocka 2.0 by adding the -Wno-error=deprecated-declarations
    compiler flag.
    Fixes #129
  • Add the ASAN=1 and OPT= make variables (see README.md).

multipath-tools 0.11.4

26 Jan 16:49
681f9f2

Choose a tag to compare

multipath-tools 0.11.4, 2026/01

Bug fixes

  • Fix mpathpersist --report-capabilities output. Fixes 0.5.0.
  • Fix command descriptions in the multipathd man page. Fixes 0.9.2.
  • Fix an undefined symbol error with the LLVM lld linker.
    Fixes #132, 0.10.0.
  • Fix ISO C23 compatibility issue causing errors with new compilers.
  • Fix memory leak caused by not joining the "init unwinder" thread.
    Fixes 0.8.6.
  • Fix memory leaks in kpartx. Fixes any version.
  • Print the warning "setting scsi timeouts is unsupported for protocol" only
    once per protocol. Fixes 0.9.0.
  • Make sure multipath-tools is compiled with the compiler flag
    -fno-strict-aliasing. This turns out to be necessary because our code
    uses techniques like container_of() which don't work well with
    strict aliasing rules.
    Fixes #130.
  • Fix initialization of paths that were offline during path detection.
  • Fix printing the "path offline" log message for offline paths that don't
    have a path checker configured.
  • kpartx: Fix freeing static buffer when operating on regular files.
    Fixes #139.

Other changes

  • Hardware table: add Seagate Exos and Nytro series.
  • Avoid joining threads twice with liburcu 0.14.0 and newer.
  • CI updates (GitHub workflows).
  • Fix CI for cmocka 2.0 by adding the -Wno-error=deprecated-declarations
    compiler flag.
    Fixes #129
  • Add the ASAN=1 and OPT= make variables (see README.md).

multipath-tools 0.10.6

26 Jan 16:51
4546a60

Choose a tag to compare

multipath-tools 0.10.6, 2026/01

Note: This release includes a minor change of the libmultipath ABI compared to 0.10.5.

Bug fixes

  • Fix mpathpersist --report-capabilities output. Fixes 0.5.0.
  • Fix command descriptions in the multipathd man page. Fixes 0.9.2.
  • Fix an undefined symbol error with the LLVM lld linker.
    Fixes #132, 0.10.0.
  • Fix ISO C23 compatibility issue causing errors with new compilers.
  • Fix memory leak caused by not joining the "init unwinder" thread.
    Fixes 0.8.6.
  • Fix memory leaks in kpartx. Fixes any version.
  • Print the warning "setting scsi timeouts is unsupported for protocol" only
    once per protocol. Fixes 0.9.0.
  • Make sure multipath-tools is compiled with the compiler flag
    -fno-strict-aliasing. This turns out to be necessary because our code
    uses techniques like container_of() which don't work well with
    strict aliasing rules.
    Fixes #130.
  • Fix initialization of paths that were offline during path detection.
  • Fix printing the "path offline" log message for offline paths that don't
    have a path checker configured.
  • kpartx: Fix freeing static buffer when operating on regular files.
    Fixes #139.

Other changes

  • Hardware table: add Seagate Exos and Nytro series.
  • Avoid joining threads twice with liburcu 0.14.0 and newer.
  • CI updates (GitHub workflows).
  • Fix CI for cmocka 2.0 by adding the -Wno-error=deprecated-declarations
    compiler flag.
    Fixes #129
  • Add the ASAN=1 and OPT= make variables (see README.md).

multipath-tools 0.14.0

20 Jan 14:28
7e5726b

Choose a tag to compare

DO NOT USE: multipath-tools 0.14.0, 2026/01

Please use 0.14.1 instead.

User-visible changes

Automatic removal of disconnected SCSI devices

This release adds support for automatically purging SCSI devices that become
disconnected at the storage target (e.g. because a LUN became unmapped by an
administrator). It's a long-standing problem that such path devices become
"stale" on the Linux side. When they are re-mapped on the storage side,
possibly with different parameters, the kernel may not correctly detect
the changes. By removing such stale devices, the kernel will be forced to
re-probe them, which fixes this problem.

The feature is controlled by a new configuration option purge_disconnected
that can be set in multipath.conf per multipath device, hardware entry, or
globally. The feature is switched off by default.

When purge_disconnected is enabled, SCSI devices for which the storage array
reports a "LUN NOT SUPPORTED" status are removed from the system, preventing
stale device entries from accumulating.

As this is a new feature, users are advised to test it in their environment
before enabling it in production.

Bug fixes

  • Make sure multipathd registers keys all paths of a multipath map after
    mpathpersist registered a key for a map. multipathd could fail to do so in
    some cases, e.g. if paths become unavailable or available while the
    registration was taking place. Fixes 0.13.0. Commits f7d6cd1, 4f3036b.
  • Fix mpathpersist --report-capabilities output. Fixes 0.5.0. Commit
    c8ed5e6.
  • Improve error handling when retrying REGISTER AND IGNORE persistent
    reservations commands. Fixes 0.13.0. Commit c971036.
  • Fix command descriptions in the multipathd man page. Fixes 0.9.2.
    Commit f3ba2e7.
  • Fix an undefined symbol error with the LLVM lld linker. Commit a298603.
    Fixes #132, 0.10.0.
  • Fix ISO C23 compatibility issue causing errors with new compilers.
    Commit 9f611e2.
  • Fix use-after-free error in free_pgvec(). Commit 7a07023.
    Fixes #128, 0.12.0.
  • Fix memory leak caused by not joining the "init unwinder" thread.
    Fixes 0.8.6. Commit 29f262b.
  • Fix memory leaks in kpartx. Commits 8c39e60, 02e0933. Fixes any version.
  • Fix a particular strict aliasing bug in the bitfield code.
    Fixes 0.8.9. Commit f1299f2. This fix isn't strictly necessary any
    more after adding -fno-strict-aliasing (see below), but it doesn't hurt to
    have it.
  • Print the warning "setting scsi timeouts is unsupported for protocol" only
    once per protocol. Commit 958c826. Fixes 0.9.0.
  • Make sure multipath-tools is compiled with the compiler flag
    -fno-strict-aliasing. This turns out to be necessary because our code
    uses techniques like container_of() which don't work well with
    strict aliasing rules. Commit 1ef540a.
    Fixes #130.

Other changes

  • Add wrapper code for libudev to avoid potential issues with calling libudev
    from a multi-threaded program. Commits 69f6590, 6cc012f.
  • Clean up the code for freeing struct path and struct multipath objects.
    Specifically, avoid freeing path objects from code that frees multipath
    maps, and vice versa. Treat path orphaning and freeing separately.
  • Hardware table: add Seagate Exos and Nytro series.
  • Avoid joining threads twice with liburcu 0.14.0 and newer.
  • CI updates (GitHub workflows).
  • Fix CI for cmocka 2.0. Commits 2c52668, f427f8f.
    Fixes #129
  • Remove the "hotplug" mode of kpartx, which has been obsolete since udev
    replaced legacy hotplug.
  • Add the ASAN=1 and OPT= make variables (see README.md).

multipath-tools 0.12.1

30 Oct 09:05
a1f7f3d

Choose a tag to compare

multipath-tools 0.12.1, 2025/10/30

  • 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.

multipath-tools 0.11.3

30 Oct 09:03
7a84cc6

Choose a tag to compare

multipath-tools 0.11.3, 2025/10/30

  • 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.