* kpartx: fix segfault when operating on regular files
(bsc#1257244, bsc#1257153)
* multipathd: print path offline message even without a checker
(bsc#1254094)
* multipathd: make "multipathd show status" busy checker better
* multipathd: finish initalization of paths added while offline
* multipathd: don't add removed/partial paths to new maps
New features from upstream 0.14.0
* add support for automatically purging SCSI devices that become
disconnected at the storage target (purge_disconnected option).
See NEWS.md.
Bug fixes from upstream 0.14.0 (bsc#1257007, see NEWS.md for details)
* Make sure multipathd registers keys all paths of a multipath map after
mpathpersist registered a key for a map.
* Fix `mpathpersist --report-capabilities` output.
* Improve error handling when retrying REGISTER AND IGNORE.
* Fix command descriptions in the multipathd man page.
* Fix ISO C23 compatibility issue causing errors with new compilers.
* Fix memory leak caused by not joining the "init unwinder" thread.
* Fix memory leaks in kpartx.
* Print the warning "setting scsi timeouts is unsupported for protocol" only
once per protocol.
* Make sure multipath-tools is compiled with the compiler flag
`-fno-strict-aliasing`. (gh#opensvc/multipath-tools#130)
Other changes from upstream 0.14.0
* Add wrapper code for libudev to avoid potential issues with calling libudev
from a multi-threaded program.
* Clean up the code for freeing struct path and struct multipath objects.
* Hardware table: add Seagate Exos and Nytro series.
* Avoid joining threads twice with liburcu 0.14.0 and newer.
* Remove the obsolete "hotplug" mode of kpartx.
* CI updates.
-------------------------------------------------------------------
Wed Dec 17 21:34:12 UTC 2025 - Martin Wilck <mwilck@suse.com>
Update to version 0.13.0+229+suse.dbac936f
* multipath-tools tests: adaptations for cmocka 2.0
(bsc#1255045, gh#opensvc/multipath-tools#129)
* libmpathutil: use union for bitfield (bsc#1255285)
* libmultipath: don't access path members in free_pgvec()
(gh#opensvc/multipath-tools#128)
Include reviewed upstream fixes post 0.13.0
* more mpathpersist fixes
* hwtable updates
* CI: more GitHub workflow updates. No code changes.
-------------------------------------------------------------------
Mon Nov 17 14:18:51 UTC 2025 - Martin Wilck <mwilck@suse.com>
Update to version 0.13.0+186+suse.9a8e81de
* CI: GitHub workflow updates. No code changes.
* CI: more GitHub workflow updates. No code changes.
-------------------------------------------------------------------
Mon Nov 17 14:18:51 UTC 2025 - Martin Wilck <mwilck@suse.com>
Update to version 0.13.0+186+suse.9a8e81de
* CI: GitHub workflow updates. No code changes.
Major rework of the SCSI Persistent Reservation code in upstream 0.13.0
Changes in upstream 0.12.0 (see also NEWS.md)
* Improved the communication with **udev** and **systemd** by triggering
uevents when path devices are added to or removed from multipath maps,
or when `multipathd reconfigure` is executed after changing blacklist
directives in `multipath.conf`.
* Maps that were added outside of multipathd (e.g. using the **multipath**
command) and that couldn't be reloaded by multipathd used to be ignored
by multipathd. multipathd will now monitor them. If some paths were
offline while the map was created, multipathd will now add them to the
map when they go online again.
* multipathd retries persistent reservation commands that have failed on one
path on another one.
Bug fixes in upstream 0.12.0 (see also NEWS.md)
* Failed paths should be checked every `polling_interval`. In certain cases,
this wouldn't happen, because the check interval wasn't reset by multipathd.
* It could happen that multipathd would accidentally release a SCSI persistent
reservation held by another node. Fix it.
* After manually failing some paths and then reinstating them, sometimes
the reinstated paths were immediately failed again by multipathd. Fix it.
* Fix crash in foreign (nvme native multipath) code, present since 0.8.8.
* Various minor fixes reported by coverity.
- Update to version 0.11.0+183+suse.3973293:
* multipathd: fix hang during shutdown with queuing maps
(bsc#1238484).
This adds multipathd-queueing.service.
* multipath-tools: make multipathd listen on a pathname socket
(/run/multipathd.socket) besides listening on an abstract socket.
This allows connecting to multipathd from a containerized application
(gh#opensvc/multipath-tools#111). In client mode, applications
linked against libmpathcmd will attempt to connect to the pathname
socket first, and to the abstract socket if this fails.
The MULTIPATH_SOCKET_NAME environment variable can be used to
override the socket name.
* multipathd: trigger uevents for blacklisted paths in reconfigure
(bsc#1236321)
* libmultipath: remove buggy reinstate_paths function (forwarded request 1250441 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1250442
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=170
* multipathd: fix hang during shutdown with queuing maps
(bsc#1238484).
This adds multipathd-queueing.service.
* multipath-tools: make multipathd listen on a pathname socket
(/run/multipathd.socket) besides listening on an abstract socket.
This allows connecting to multipathd from a containerized application
(gh#opensvc/multipath-tools#111). In client mode, applications
linked against libmpathcmd will attempt to connect to the pathname
socket first, and to the abstract socket if this fails.
The MULTIPATH_SOCKET_NAME environment variable can be used to
override the socket name.
* multipathd: trigger uevents for blacklisted paths in reconfigure
(bsc#1236321)
* libmultipath: remove buggy reinstate_paths function
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=353
- Update to version 0.11.0+164+suse.24eeee7
- Reviewed Upstream changes from 0.12 development
* Continued rework of the path checker loop
* multipathd now sets the port_state of Fibre Channel remote ports to
"marginal" for NVMe devices, too (with nvme_core.multipath=N only).
* Make sure maps are reloaded in the path checker loop after detecting an
inconsistent or wrong kernel state (bsc#1236392)
* Make sure udev and systemd notice changes in multipath path state
when devices are added to or removed from multipath maps (bsc#1236321)
* Fix path grouping if a path device is added while offline with group_by_tpg
and group_by_serial path grouping policy
(gh#opensvc/multipath-tools#108, bsc#1236392)
* Fix the problem that `group_by_tpg` might be disabled if one or more
paths were offline during initial configuration (bsc#1236392)
* Fix multipathd crash because of invalid path group index value, for example
if an invalid path device was removed from a map.
(gh#opensvc/multipath-tools#105, bsc#1236392)
- Changes in Upstream 0.11.0 (see also NEWS.md)
* multipathd: set rport port_state to marginal for NVMe devices
* Fixed a memory leak in the nvme foreign library.
* Fixed a problem in the marginal path detection algorithm that could cause
the io error check for a recently failed path to be delayed.
(bsc#1236390)
* multipath-tools: add HPE MSA Gen7 (2070/2072) to hwtable
* multipath-tools: add SCST to hwtable
* Add defaults for SCST and HPE MSA Gen7 to hwtable
* Reduce log level of harmless "map ... doesn't exist" message
(bsc#1236390)
* Fixes for handling empty or incompletely created multipath maps
(bsc#1236390) (forwarded request 1240182 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1240184
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=169
- Reviewed Upstream changes from 0.12 development
* Continued rework of the path checker loop
* multipathd now sets the port_state of Fibre Channel remote ports to
"marginal" for NVMe devices, too (with nvme_core.multipath=N only).
* Make sure maps are reloaded in the path checker loop after detecting an
inconsistent or wrong kernel state (bsc#1236392)
* Make sure udev and systemd notice changes in multipath path state
when devices are added to or removed from multipath maps (bsc#1236321)
* Fix path grouping if a path device is added while offline with group_by_tpg
and group_by_serial path grouping policy
(gh#opensvc/multipath-tools#108, bsc#1236392)
* Fix the problem that `group_by_tpg` might be disabled if one or more
paths were offline during initial configuration (bsc#1236392)
* Fix multipathd crash because of invalid path group index value, for example
if an invalid path device was removed from a map.
(gh#opensvc/multipath-tools#105, bsc#1236392)
- Changes in Upstream 0.11.0 (see also NEWS.md)
* multipathd: set rport port_state to marginal for NVMe devices
* Fixed a memory leak in the nvme foreign library.
* Fixed a problem in the marginal path detection algorithm that could cause
the io error check for a recently failed path to be delayed.
(bsc#1236390)
* multipath-tools: add HPE MSA Gen7 (2070/2072) to hwtable
* multipath-tools: add SCST to hwtable
* Add defaults for SCST and HPE MSA Gen7 to hwtable
* Reduce log level of harmless "map ... doesn't exist" message
(bsc#1236390)
* Fixes for handling empty or incompletely created multipath maps
(bsc#1236390)
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=351
- Update to version 0.11.0~1+118+suse.4a51b1a
See NEWS.md for details about upstream changes in 0.11.0.
* Pre-release of upstream 0.11.0
* Rework of the path checking algorithm to reduce wait time and improve
performance
* Modified the systemd unit `multipathd.service` such that multipathd will now
restart after a failure or crash (gh#opensvc/multipath-tools#100)
* multipathd: move systemd watchdog handling into daemon (bsc#1232227)
* libmultipath: dm_get_maps(): don't bail out for single-map failures
(bsc#1233588, gh#opensvc/multipath-tools#102)
* libmultipath: don't set dev_loss_tmo to 0 for NO_PATH_RETRY_FAIL
* multipathd: fix deferred_failback_tick for reload removes (forwarded request 1225652 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1225653
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=168
See NEWS.md for details about upstream changes in 0.11.0.
* Pre-release of upstream 0.11.0
* Rework of the path checking algorithm to reduce wait time and improve
performance
* Modified the systemd unit `multipathd.service` such that multipathd will now
restart after a failure or crash (gh#opensvc/multipath-tools#100)
* multipathd: move systemd watchdog handling into daemon (bsc#1232227)
* libmultipath: dm_get_maps(): don't bail out for single-map failures
(bsc#1233588, gh#opensvc/multipath-tools#102)
* libmultipath: don't set dev_loss_tmo to 0 for NO_PATH_RETRY_FAIL
* multipathd: fix deferred_failback_tick for reload removes
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=349
- Update to 0.10.0+103+suse.0fc97cd
- Update to upstream 0.10.0 (see also NEWS.md)
* The `multipathd show daemon` command now shows `(reconfigure pending)`
if a reconfiguration has been triggered but not finished yet.
* Refactored the path checker loop. Paths are now checked for each multipath
map in turn
* Renamed public functions, variables, and macros to comply with the glibc policy
for reserved names (gh#opensvc/multipath-tools#91)
* Fixed bug that caused queueing to be always disabled if flushing a map failed
(bug introduced in 0.9.8). (bsc#1229898)
* Fixed failure to remove maps even with `deferred_remove` (bug introduced in
0.9.9). (bsc#1229898)
* Fixed old mpathpersist bug leading to the error message "configured reservation
key doesn't match: 0x0" when `reservation_key` was configured in the
multipaths section of `multipath.conf`. (bsc#1228926, gh#opensvc/multipath-tools#92)
* Fixed output of `multipath -t` and `multipath -T` for the options
`force_sync` and `retrigger_tries`. (bsc#1229898, gh#opensvc/multipath-tools#88)
* Fixed adding maps by WWID in CLI (command `add map $WWID`). (bsc#1229898)
(bug introduced in 0.9.8). (bsc#1229898)
(bug introduced in 0.9.9). (bsc#1229898) (forwarded request 1197366 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1197370
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=166
- Update to upstream 0.10.0 (see also NEWS.md)
* The `multipathd show daemon` command now shows `(reconfigure pending)`
if a reconfiguration has been triggered but not finished yet.
* Refactored the path checker loop. Paths are now checked for each multipath
map in turn
* Renamed public functions, variables, and macros to comply with the glibc policy
for reserved names (gh#opensvc/multipath-tools#91)
* Fixed bug that caused queueing to be always disabled if flushing a map failed
(bug introduced in 0.9.8). (bsc#1229898)
* Fixed failure to remove maps even with `deferred_remove` (bug introduced in
0.9.9). (bsc#1229898)
* Fixed old mpathpersist bug leading to the error message "configured reservation
key doesn't match: 0x0" when `reservation_key` was configured in the
multipaths section of `multipath.conf`. (bsc#1228926, gh#opensvc/multipath-tools#92)
* Fixed output of `multipath -t` and `multipath -T` for the options
`force_sync` and `retrigger_tries`. (bsc#1229898, gh#opensvc/multipath-tools#88)
* Fixed adding maps by WWID in CLI (command `add map $WWID`). (bsc#1229898)
(bug introduced in 0.9.8). (bsc#1229898)
(bug introduced in 0.9.9). (bsc#1229898)
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=344
- Update to version 0.9.9+161+suse.0c835ef:
* Update to upstream reviewed code path (787e00d)
* Added hardware defaults for Huawei storage arrays and XSG1 vendors
* Refactored and improved the libultipath / libdevmapper interface
* Fixed bug that caused queueing to be always disabled if flushing a map failed
(bug introduced in 0.9.8).
* Fixed failure to remove maps even with `deferred_remove`
(bug introduced in 0.9.9).
* CI improvements
* Documentation fixes (forwarded request 1188706 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1188707
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=165
* Update to upstream reviewed code path (787e00d)
* Added hardware defaults for Huawei storage arrays and XSG1 vendors
* Refactored and improved the libultipath / libdevmapper interface
* Fixed bug that caused queueing to be always disabled if flushing a map failed
(bug introduced in 0.9.8).
* Fixed failure to remove maps even with `deferred_remove`
(bug introduced in 0.9.9).
* CI improvements
* Documentation fixes
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=342
* Fix unit tests on Tumbleweed/armv7l
- Update to 0.9.9 upstream (see NEWS.md for details)
* Update udev rules to be compliant with device-mapper udev
rules update in LVM2 >= 2.03.24.
* Limit real-time scheduling priority to 10 by default. This
can now be configured in multipathd.service using "LimitRTPRIO="
* Set max_sectors_kb only on map creation, or when a new path
is added, to avoid IO errors
* The configuration option "flush_on_last_del" now takes the
values "always" (="yes"), "unused" (="no"), and "never". "yes"
and "no" are still supported
* Add wildcard %k for max_sectors_kb for CLI commands like
"multipath show {paths,maps} format"
* Accept WWID value in CLI commands that take a map name, like
"resize map $map"
* Removed support for CLI wildcards for pathgroups, which were
not function anyway.
* Fix map failure count for no_path_retry > 0
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=339
- Update to version 0.9.8~1+82+suse.dcd98a3:
* Adapt package version such that it shows as a 0.9.8 prerelease
* Add missing udev rules file
- Update to version 0.9.7+148+suse.9780ae0:
* 11-dm-mpath.rules: Fix quoting mistake (bsc#1219142)
- Update to version 0.9.7+148+suse.7d9953e.obscpio
* This is a multipath-tools 0.9.8 pre-release
* fix fast_io_fail for Infinibox (bsc#1219348)
* Fix activation of LVM volume groups during coldplug (bsc#1219142)
- Update to version 0.9.7+140+suse.2d78457:
* This is a multipath-tools 0.9.8 pre-release
* Socket activation via multipathd.socket has been disabled by default
because it has undesirable side effects on systems without multipath.
Users with multipath hardware should enable multipathd.service
* The restorequeueing CLI command now only enables queueing if
disablequeueing had been sent before
* Avoid multipathd hang during map flush
* multipathd now tracks the queueing mode of maps in its internal features string
* Improve error messages in 'multipathd -k'
* Fix segfault in autoresize code (bsc#1219289)
* Fix missing map reloads (bsc#1219796)
* Documentation fixes, spelling fixes, minor code fixes
OBS-URL: https://build.opensuse.org/request/show/1146796
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=160
An upstream PR for 0.9.8 is currently in preparation
(https://github.com/opensvc/multipath-tools/pull/81)
Some minor review is still missing before it can be merged upstream.
We need the included fixes as bug fixes for SLE15-SP6. Will update
to 0.9.8 asap when it's released; no relevant changes between 0.9.8
and this code base are expected.
- Update to version 0.9.7+148+suse.7d9953e.obscpio
* This is a multipath-tools 0.9.8 pre-release
* fix fast_io_fail for Infinibox (bsc#1219348)
* Fix activation of LVM volume groups during coldplug (bsc#1219143)
- Update to version 0.9.7+140+suse.2d78457:
* This is a multipath-tools 0.9.8 pre-release
* Socket activation via multipathd.socket has been disabled by default
because it has undesirable side effects on systems without multipath.
Users with multipath hardware should enable multipathd.service
* The restorequeueing CLI command now only enables queueing if
disablequeueing had been sent before
* Avoid multipathd hang during map flush
* multipathd now tracks the queueing mode of maps in its internal features string
* Improve error messages in 'multipathd -k'
* Fix segfault in autoresize code (bsc#1219289)
* Fix missing map reloads (bsc#1219796)
* Documentation fixes, spelling fixes, minor code fixes
OBS-URL: https://build.opensuse.org/request/show/1146255
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=326
- Update to version 0.9.7+93+suse.e2f2272:
* fix ANA prioritizer enablement logic (bsc#1218326)
* avoid setting queue_if_no_path on multipath maps for which the
no_path_retry timeout has expired
* the interactive commands "restorequeueing map X" and
"restorequeing maps" now only affect maps that had queueing
manually disabled using "disablequeuing maps" or
"disablequeuing map X" beforehand
* Spelling fixes (forwarded request 1137069 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1137070
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=159
- Update to version 0.9.7+93+suse.e2f2272:
* fix ANA prioritizer enablement logic (bsc#1218326)
* avoid setting queue_if_no_path on multipath maps for which the
no_path_retry timeout has expired
* the interactive commands "restorequeueing map X" and
"restorequeing maps" now only affect maps that had queueing
manually disabled using "disablequeuing maps" or
"disablequeuing map X" beforehand
* Spelling fixes
OBS-URL: https://build.opensuse.org/request/show/1137069
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=324
- Update to version 0.9.7+76+suse.5f857af:
* Update to upstream 0.9.7 (jsc#PED-6464)
* added max_retries config option to limit SCSI retries
* added auto_resize config option to enable resizing multipath maps automatically
* fixed memory and error handling for code using aio (marginal path code,
directio path checker)
* dropped modules-load.d/multipath.conf; replaced by a dependency on
modprobe@dm-multipath.service (systemd >= 245: SLE15-SP3 and later only)
and a softdep on sd_mod for the SCSI device handlers
(bsc#1217377)
* On SLE/Leap suse-module-tools doesn't ship a scsi_mod->sd_mod softdep yet.
Add it here, too. It will be overridden by s-m-t when it's added there.
* drop usr_prefix= setting in SLE build recipes (set to /usr by upstream
automatically) (forwarded request 1128106 from mwilck)
OBS-URL: https://build.opensuse.org/request/show/1128122
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/multipath-tools?expand=0&rev=158
- Update to version 0.9.7+76+suse.5f857af:
* Update to upstream 0.9.7 (jsc#PED-6464)
* added max_retries config option to limit SCSI retries
* added auto_resize config option to enable resizing multipath maps automatically
* fixed memory and error handling for code using aio (marginal path code,
directio path checker)
* dropped modules-load.d/multipath.conf; replaced by a dependency on
modprobe@dm-multipath.service (systemd >= 245: SLE15-SP3 and later only)
and a softdep on sd_mod for the SCSI device handlers
(bsc#1217377)
* On SLE/Leap suse-module-tools doesn't ship a scsi_mod->sd_mod softdep yet.
Add it here, too. It will be overridden by s-m-t when it's added there.
* drop usr_prefix= setting in SLE build recipes (set to /usr by upstream
automatically)
OBS-URL: https://build.opensuse.org/request/show/1128106
OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=322