Open mwilck opened 2 weeks ago
Typo at: https://github.com/openSUSE/multipath-tools/blob/4c3ade25dcbdc296bd74ca2ac971610b7ef05e12/README.md?plain=1#L37 "Beginning with 0.10" should be: "Beginning with 0.11"
@xosevp
"Beginning with 0.10" should be: "Beginning with 0.11"
Thanks. This was intentional. There's an open discussion whether we want to create a 0.10.y branch, because of #102.
We need one more fix, for https://github.com/systemd/systemd/pull/35135. I'll add this asap.
Added some reviewed patches.
I am waiting for the final version of @bmarzins' patch set for fixing treatment of empty maps. When that's done, I'll rebase this PR.
dmi
Force-pushed again. I removed the version bump for now because I want to have it on top of the queue and I've needed multiple force-pushes already.
Stable branches and new versioning scheme
Beginning with 0.11, the second digit in the multipath-tools version will be used for upstream "major" releases. The 3rd and last digit will denote stable releases in the future, containing only bug fixes on top of the last major release. These bug fixes will be tracked in stable branches.
See README.md for additional information.
multipath-tools 0.11.0, 2024/11
User-visible changes
multipathd.service
such that multipathd will now restart after a failure or crash. Fixes #100.Other major changes
Rework of the path checking algorithm
This is a continuation of the checker-related work that went into 0.10.0. For asynchronous checker algorithms (i.e. tur and directio), the start of the check and the retrieval of the results are done at separate points in time, which reduces the time for waiting for the checker results of individual paths and thus strongly improves the performance of the checker algorithm, in particular on systems with a large a amount of paths.
The algorithm has the following additional properties:
Bug fixes
no_path_retry fail
and no setting fordev_loss_tmo
might get thedev_loss_tmo
set to 0, causing the device to be deleted immediately in the event of a transport disruption. This bug was introduced in 0.9.6.failback
value > 0 inmultipath.conf
), some maps might fail back later than configured. The problem existed since 0.9.6.WATCHDOG_USEC
environment variable had the value "0", which means that the watchdog is simply disabled. This (minor) problem existed since 0.4.9.Other
hardware_handler
have been removed from the internal hardware table. These settings have been obsoleted by the Linux kernel 4.3 and later, which automatically selects hardware handlers when SCSI devices are added. See the notes aboutSCSI_DH_MODULES_PRELOAD
in README.md.Internal
7
libmp_mapinfo()
now fills in thename
,uuid
, anddmi
fields if requested by the caller, even if it encounters an error or an empty map.Shortlog
@bmarzins (40): libmultipath: store checker_check() result in checker struct libmultipath: add missing checker function prototypes libmultipath: split out the code to wait for pending checkers libmultipath: remove pending wait code from libcheck_check calls multipath-tools tests: fix up directio tests libmultipath: split get_state into two functions libmultipath: change path_offline to path_sysfs_state multipathd: split check_path_state into two functions multipathd: rename do_check_path to update_path_state multipathd: split check_path into two functions multipathd: split handle_uninitialized_path into two functions multipathd: split check_paths into two functions multipathd: fix "fail path" and "reinstate path" commands multipathd: update priority once after updating all paths multipathd: simplify checking for followover_should_failback multipathd: only refresh prios on PATH_UP and PATH_GHOST multipathd: remove pointless check multipathd: fix deferred_failback_tick for reload removes libmultipath: add libcheck_need_wait checker function libmultipath: don't wait in libcheck_pending multipathd: wait for checkers to complete multipath-tools tests: fix up directio tests multipathd: checker port_state before setting it. multipathd: use timestamps to tell when the directio checker timed out libmultipath: check DM UUID earlier in libmp_mapinfo__ libmultipath: use MAPINFO_CHECK_UUID in dm_get_multipath multipathd: print an error when failing to connect to multipathd multipathd.service: restart multipathd on failure libmultipath: Fix MAPINFO_CHECK_UUID with partitions libmultipath: signal device with no table in libmp_mapinfo libmultipath: fix removing device after failed creation libmultipath: set uuid, name, and dmi if a device is found libmultipath: check table type in dm_find_map_by_wwid libmultipath: handle a create corner case for empty devices libmultipath: handle empty maps in dm_flush_map__ libmultipath: factor out code to check if a device is a partition libmultipath: remove recursive calls in partmap_funcs libmultipath: assume device is in use if dm_get_opencount fails libmultipath: accept empty partitions as valid in do_foreach_partmaps libmultipath: reduce log level for DMP_NOT_FOUND
@mwilck (32): GitHub workflows: use {upload,download}-artifact@v4 GitHub workflows: update dawidd6/action-download-artifact Github workflows: native.yml: use mosteo-actions/docker-run GitHub workflows: native.yml: use extra job for clang GitHub workflows: native.yaml: make test and archive separately 11-dm-mpath.rules.in: import DM_COLDPLUG_SUSPENDED only once 11-dm-mpath.rules.in: handle inactive suspended devices correctly 11-dm-mpath.rules.in: clarify DM_ACTIVATION logic 11-dm-mpath-rules.in: skip one .DM_NOSCAN check 11-dm-mpath.rules.in: set .DM_NOSCAN if MPATH_UNCHANGED is set libmpathutil: avoid -Wcast-function-type-mismatch error with clang 19 multipath-tools tests: actually sleep in directio test libmultipath: dm_get_maps(): don't bail out for single-map failures libmultipath: libmp_mapinfo(): return DMP_NO_MATCH for multi-target maps libmultipath: make MAPINFO_CHECK_UUID work with partitions libmultipath: check map UUID in do_foreach_partmaps libmultipath: increase log level for removing partitions libmultipath: reduce log level of libmp_mapinfo() messages libmultipath: don't log boring state messages at level 3 libmultipath: don't set dev_loss_tmo to 0 for NO_PATH_RETRY_FAIL README.md: mention NEWS.md in Changelog section NEWS.md: add section for 0.11.0 README.md: mention stable branches NEWS.md: mention stable branches libmultipath, libmpathpersist: bump ABI versions multipathd: fix an unsigned int ovwerflow GitHub workflows: enable unit tests for stable branches GitHub Workflows: add abi check for stable branches multipathd: move systemd watchdog handling into daemon GitHub workflows: update checkout to @v4 multipath-tools tests: fix mapinfo tests NEWS.md: describe latest changes
@xosevp (4): multipath-tools: remove hwhandler from all hwtable configs multipath-tools: hwtable housekeeping multipath-tools: update comments in hwtable multipath-tools: refresh fsf licences