-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multipath-tools 0.9.8 #81
Commits on Dec 18, 2023
-
Cc: Martin Wilck <mwilck@suse.com> Cc: Benjamin Marzinski <bmarzins@redhat.com> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> Cc: DM-DEVEL ML <dm-devel@lists.linux.dev> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 9654a9e - Browse repository at this point
Copy the full SHA 9654a9eView commit details
Commits on Jan 4, 2024
-
libmultipath: avoid temporarily enabling queueing on reload
Instead of always enabling queueing when a map is reloaded with no_path_retry set to a positive number, check if the map has timed out in recovery mode, and only enable queueing if it has not. This saves multipathd from having to disable queueing on the map immediately after the reload. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 0235f74 - Browse repository at this point
Copy the full SHA 0235f74View commit details -
multipathd: Make sure to disable queueing if recovery has failed.
If a multipath device has no_path_retry set to a number and has lost all paths, gone into recovery mode, and timed out, it will disable queue_if_no_paths. After that, if the device is reloaded by multipath outside of multipathd, it will re-enable queuieng on the device. When multipathd later calls set_no_path_retry() to update the queueing state, it will not disable queue_if_no_paths, since the device is still in the recovery state, so it believes no work needs to be done. The device will remain in the recovery state, with retry_ticks at 0, and queueing enabled, even though there are no usable paths. To fix this, in set_no_path_retry(), if no_path_retry is set to a number and the device is queueing but it is in recovery mode and out of retries with no usable paths, manually disable queue_if_no_path. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 2ac5b17 - Browse repository at this point
Copy the full SHA 2ac5b17View commit details -
multipathd: don't modify the multipath device on show commands
The commands to show a multipath device are supposed to return its current state without updating it. Even when reset is 0, update_multipath() still can update the device. To fix this, split __setup_multipath() into two functions: refresh_multipath(), that updates the table and status, and setup_multipath(), which works as before but now calls refresh_multipath(). Make the multipathd show commands call refresh_multipath() instead of update_multipath(). With the show commands calling refresh_multipath(), all callers of update_multipath() set the reset argument, so remove it and always call setup_multipath() from update_multipath(). Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for e5debe0 - Browse repository at this point
Copy the full SHA e5debe0View commit details -
libmultipath: keep track of queueing state in features
Make multipathd update mpp->features when in enables or disables queuing. This patch handles all the cases except failed removes by dm_suspend_and_flush_map(), which is never called by multipathd. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 6b61124 - Browse repository at this point
Copy the full SHA 6b61124View commit details -
multipathd: only restore queueing if it has been disabled first
Make the restorequeueing command only do something if disablequeueing has first been run on the map. Also update the man page to explain what restorequeuing actually does. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 57509ba - Browse repository at this point
Copy the full SHA 57509baView commit details
Commits on Jan 5, 2024
-
libmultipath: fix ANA prioritizer enablement logic
Fixes: 3e71d8a ("multipath-tools Makefiles: create config.mk") Suggested-by: Lidong Zhong <lidong.zhong@suse.com> Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for dd8ddad - Browse repository at this point
Copy the full SHA dd8ddadView commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for ce67138 - Browse repository at this point
Copy the full SHA ce67138View commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 41f7ccc - Browse repository at this point
Copy the full SHA 41f7cccView commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 4a86437 - Browse repository at this point
Copy the full SHA 4a86437View commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for ebf8a25 - Browse repository at this point
Copy the full SHA ebf8a25View commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 94c4c86 - Browse repository at this point
Copy the full SHA 94c4c86View commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 480ebdd - Browse repository at this point
Copy the full SHA 480ebddView commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for d384bdb - Browse repository at this point
Copy the full SHA d384bdbView commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 7cd881b - Browse repository at this point
Copy the full SHA 7cd881bView commit details -
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 7421e88 - Browse repository at this point
Copy the full SHA 7421e88View commit details -
multipathd: remove nopath flushing code from flush_map()
Instead of flush_map() handling both user requested flushes and automatic flushes when the last path has been deleted, make flush_map_nopaths() handle the automatic flushes itself, since a later patch will change the behavior of flush_map(). Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for de3ae59 - Browse repository at this point
Copy the full SHA de3ae59View commit details -
multipathd: make flush_map() delete maps like the multipath command
When the multipath command tries to delete a multipath device, it first disables queueing and then suspends the device to force the IOs to get flushed. Then it attempts to delete the device and any kpartx partitions. multipathd, on the other hand, simply tries to delete the device and kpartx partitions, without disabling queueing or suspending. If there are no paths but there is outstanding IO, multipathd will hang trying to delete the last kpartx device. This is because it must be the last opener of the multipath device (multipath won't try to delete the device if it has any openers besides the kpartx devices) and the kernel will not allow the last opener of a block device to close until all the outstanding IO is flushed. This hang can be avoided if multipathd calls dm_suspend_and_flush_map() like the multipath command does, instead of dm_flush_map(). Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 9bd3482 - Browse repository at this point
Copy the full SHA 9bd3482View commit details -
multipathd: disable queueing when removing unknown maps
Make cli_del_maps() call dm_suspend_and_flush_map() for the unknown multipath devices as well. After this change, all callers of cli_del_maps() set need_suspend, so simplify dm_flush_maps(). Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 2449548 - Browse repository at this point
Copy the full SHA 2449548View commit details -
multipathd: simplify cli_del_map()
cli_del_map() does a lot of unnecessary work to match the arguments of ev_remove_map(), of which it is the only caller. Then ev_remove_map() does more unnecessary work to verify the arguments passed in. remove ev_remove_map() and make cli_del_map() get the mpp like the rest of the client handlers do. Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for a4dbdce - Browse repository at this point
Copy the full SHA a4dbdceView commit details -
libmultipath: make _dm_flush_map() return an enum
A future patch will add an additional return code, so make this an enum instead of just using numbers. Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 45aa0bf - Browse repository at this point
Copy the full SHA 45aa0bfView commit details -
libmultipath: make dm_remove_partmaps() a static function
dm_remove_partmaps() is only used in devmapper.c, so make it static. It does need to be declared early, since remove_partmaps() and it call eachother. Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 92b0651 - Browse repository at this point
Copy the full SHA 92b0651View commit details -
multipathd: always start failure replies with "fail\n"
When multipathd interactive commands fail for certain reasons, like timing out or incorrect permissions, they do not reply with "fail\n". Currently, multipath and multipathc expect that a reply other than "fail\n" means success. Instead, prefix all failure replies with "fail\n", and adapt multipath and multipathc to return failure for any reply starting with "fail\n". Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 41f910d - Browse repository at this point
Copy the full SHA 41f910dView commit details -
multipathd: print extra default reply msg for busy devices
If removing a multipath device fails because the device is in use, return DM_FLUSH_BUSY from remove_functions, which causes cli_del_map() to return -EBUSY, which will now print extra information in default_reply(). Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 819b811 - Browse repository at this point
Copy the full SHA 819b811View commit details -
multipathd: handle busy devices in cli_del_maps()
Make cli_del_maps() return -EBUSY like cli_del_map() if it fails because a device is in use and it doesn't run into any other type of failures. Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 3f684c0 - Browse repository at this point
Copy the full SHA 3f684c0View commit details -
libmultipath: print error when find_mp_by_str() fails.
None of the callers of find_mp_by_str() print any message if they fail because the map name is invalid. Print one in find_mp_by_str() to save the effort of adding it to all the callers. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 511ebe1 - Browse repository at this point
Copy the full SHA 511ebe1View commit details -
multipathd: don't open code find_mp_by_str() in client handers
multiple client handlers simply open coded find_mp_by_str(). Just use the function instead. Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 7773ef0 - Browse repository at this point
Copy the full SHA 7773ef0View commit details -
multipathd: make cli_handlers check for paths by devt and dev
Some of the client handlers checked for paths by both dev and devt, but not all. Also, many of the client handlers don't print anything if they failed to find a path. Make all the client handlers which work on path devices use a new function, find_path_by_str(), which will try both methods to find a path, and can print out an error message if none is found. (mwilck: find_path_by_str() tries to match device names by devt (major:minor) first, then by device name, whereas the open-coded lookup checked for the device name first. This is for consistency with other device lookup algorithms. It doesn't make a difference in practice, because no real devices have names in the major:minor format.) Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 73c4737 - Browse repository at this point
Copy the full SHA 73c4737View commit details -
multipathd: add cli_handler reply message for missing devs
When the cli_handlers cannot find the requested map or path, they will now return -ENODEV, which prints extra information in default_reply(). Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 53b3c1f - Browse repository at this point
Copy the full SHA 53b3c1fView commit details -
libdmmp: handle failures in _process_cmd
currently, most of the callers of _process_cmd() do not gracefully handle the case where multipathd returns "fail\n". dmmp_flush_mpath() does, but it does extra work to try to figure out after the fact why the flush command failed. Instead, handle fail replies in _process_cmd() using the appropriate DMMP error codes. Cc: Gris Ge <fge@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com> Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for ce23ab2 - Browse repository at this point
Copy the full SHA ce23ab2View commit details -
multipath: get rid of unnecessary retries variable
the -R option can just set conf->remove_retries directly. It has the same effect. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 7bd4aab - Browse repository at this point
Copy the full SHA 7bd4aabView commit details -
multipath: Don't locally retry deletgated remove failures
Now that multipathd is running the same code to remove devices as multipath, multipath doesn't need to automatically retry the remove failures. Instead it now repeatedly calls delegate_to_multipathd() to handle any retries. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 8c0c12e - Browse repository at this point
Copy the full SHA 8c0c12eView commit details -
multipath: if delegation times out mark as not delegated
If either mpath_process_cmd fails with ETIMEDOUT or the reply is "fail\ntimeout\n", failback to multipath local commands. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 75e05cd - Browse repository at this point
Copy the full SHA 75e05cdView commit details -
multipathd: sync features on flush_map failure corner case
If dm_suspend_and_flush_map() disables queueing on a device, and then fails both to flush the device and restore queueing, the device will still have queue_if_no_path set in mpp->features, but not in reality. Fix this. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 8a38983 - Browse repository at this point
Copy the full SHA 8a38983View commit details
Commits on Jan 9, 2024
-
multipathd: init_unwinder: protect pthread_cond_wait() call with a loop
This fixes a coverity-reported defect (413387 Indefinite wait). Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for f4d0ce4 - Browse repository at this point
Copy the full SHA f4d0ce4View commit details -
libmultipath: is_uevent_busy(): check servicing_uev under lock
This fixes a coverity-reported defect (413384 Data race condition). Indeed, we always set servicing_uev with the lock held, so it makes sense to read it with the lock held, too. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 4e47bd1 - Browse repository at this point
Copy the full SHA 4e47bd1View commit details -
libmultipath: tur: protect pthread_cond_timedwait with a loop
Defect reported by coverity (413383 Data race condition) Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 5a9476f - Browse repository at this point
Copy the full SHA 5a9476fView commit details
Commits on Jan 17, 2024
-
multipathd: fix null pointer dereference in uev_update_path
The Auto-resize code added a check that deferences pp->mpp without checking that it's non-NULL. Fix it. Fixes: 981b83a ("multipathd: Add auto_resize config option") Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for fc8b102 - Browse repository at this point
Copy the full SHA fc8b102View commit details -
multipathd: fix auto-resize configuration
The code acted like AUTO_RESIZE_UNDEFINED didn't exist, but since conf->auto_resize was never set to AUTO_RESIZE_NEVER, the default was in fact AUTO_RESIZE_UNDEFINED, which ended up getting treated like AUTO_RESIZE_GROW_SHRINK. Remove AUTO_RESIZE_UNDEFINED and explicitly default auto_resize tp AUTO_RESIZE_NEVER. Fixes: 981b83a ("multipathd: Add auto_resize config option") Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 56476eb - Browse repository at this point
Copy the full SHA 56476ebView commit details
Commits on Jan 18, 2024
-
multipathd: the local path change is not considered
When update_prio is called, there is a check to see if the local path has a priority change. Then all the remaining paths are simliarly checked. Only the result of paths not matching the local path are considered in the calculation of 'changed'. In the case of failed paths becoming again available this can lead to multipath not reloading. The result will look like this: 3624a93703c9f34490f6140a100011010 dm-2 PURE,FlashArray size=3.0T features='1 retain_attached_hw_handler' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 1:0:0:1 sdb 8:16 active ready running | |- 9:0:0:1 sdc 8:32 active ready running | |- 11:0:0:1 sdd 8:48 active ready running | `- 13:0:0:1 sdh 8:112 active ready running `-+- policy='service-time 0' prio=50 status=enabled |- 8:0:0:1 sde 8:64 active ready running |- 10:0:0:1 sdf 8:80 active ready running |- 12:0:0:1 sdg 8:96 active ready running `- 14:0:0:1 sdi 8:128 active ready running Where the path's priorities are updated, but the path group is not activated. Fixes: 6ccd7b8 ("multipathd: only refresh priorities in update_prio()") Signed-off-by: Brian Bunker <brian@purestorage.com> Signed-off-by: Seamus Connor <sconnor@purestorage.com> Signed-off-by: Krisha Kant <krishna.kant@purestorage.com> Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for a6424a1 - Browse repository at this point
Copy the full SHA a6424a1View commit details -
multipathd: make update_prio static, and rename refresh_all param
Rename the "refresh_all" parameter so that its semantic becomes more obvious. Commit 6ccd7b8 ("multipathd: only refresh priorities in update_prio()") explains it. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 7b6c874 - Browse repository at this point
Copy the full SHA 7b6c874View commit details
Commits on Jan 23, 2024
-
multipath-tools: fix an assignment ambiguity
spotted by indent: ./kpartx/gpt.c:623: Warning:old style assignment ambiguity in "=-". Assuming "= -" Cc: Martin Wilck <mwilck@suse.com> Cc: Benjamin Marzinski <bmarzins@redhat.com> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> Cc: DM-DEVEL ML <dm-devel@lists.linux.dev> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for da35556 - Browse repository at this point
Copy the full SHA da35556View commit details
Commits on Jan 31, 2024
-
libmultipath: fix displaying auto_resize config setting
When 56476eb ("multipathd: fix auto-resize configuration") removed AUTO_RESIZE_UNDEFINED, it didn't update print_auto_resize() to print a value for when it was set to 0 (which is now AUTO_RESIZE_NEVER). Fixes: 56476eb ("multipathd: fix auto-resize configuration") Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 94b8361 - Browse repository at this point
Copy the full SHA 94b8361View commit details -
multipath-tools tests: add void parameter to functions
This allows the tests to be compiled with -Werror=strict-prototypes Reported-by: Tomasz Kłoczko (github.com/opensvc/issues/80) Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 315708b - Browse repository at this point
Copy the full SHA 315708bView commit details
Commits on Feb 1, 2024
-
libmultipath: stop PURE FlashArray from detecting priority
If 'detect_prio' is set to 'yes', the 'sysfs' prioritizer will be used instead of the 'alua' prioritizer. The 'sysfs' prioritizer can leave paths in the Active/Non-optimized ALUA state after a successful upgrade of a PURE FlashArray. Explicitly use the 'alua' prioritizer instead for PURE FlashArray rather than the default of 'detect_prio' which is 'yes'. Signed-off-by: Brian Bunker <brian@purestorage.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for ca62dfa - Browse repository at this point
Copy the full SHA ca62dfaView commit details
Commits on Feb 8, 2024
-
multipath-tools: remove extra hyphen from CFLAGS std option
https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-std-1 Cc: Martin Wilck <mwilck@suse.com> Cc: Benjamin Marzinski <bmarzins@redhat.com> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> Cc: DM-DEVEL ML <dm-devel@lists.linux.dev> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> Reviewed-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 371da67 - Browse repository at this point
Copy the full SHA 371da67View commit details
Commits on Feb 10, 2024
-
multipathd: don't activate socket activation by default
Socket activation will start multipathd on systems that don't have multipath hardware. This is often not desired. On systems that do have multipath hardware, OTOH, it is highly recommended to enable multipathd.service directly rather than have it started via socket activation. Therefore don't activate the socket by default. multipathd still supports socket activation, so users who find it useful can disable multipathd.service and activate the socket. Fixes: opensvc#76 Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com> Cc: Sergio Durigan Junior <sergiodj@sergiodj.net> Cc: Chris Hofstaedtler <zeha@debian.org>
Configuration menu - View commit details
-
Copy full SHA for 346e9ad - Browse repository at this point
Copy the full SHA 346e9adView commit details -
multipath: udev rules: use configured $(bindir) in udev rules
This allows us to remove the clumsy MPATH_SBIN_PATH property and related tests. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 821c3ba - Browse repository at this point
Copy the full SHA 821c3baView commit details
Commits on Feb 12, 2024
-
multipath-tools: Makefile.inc: set _FILE_OFFSET_BITS=64
Set _FILE_OFFSET_BITS=64 in order to avoid EOVERFLOW error for getdents() syscalls on some file systems (in particular, ext4) in emultated 32bit environments on 64 bit kernel, e.g. when running in qemu. This error occured in arm/v7 CI runs on Ubuntu runners on GitHub, which can be enabled after applying this change. See e.g. https://sourceware.org/bugzilla/show_bug.cgi?id=23960. This change requires fixes for the unit tests: If -D_FILE_OFFSET_BITS=64 is set, glibc headers replace some functions with their 64bit equivalents. open() is replaced by open64(), etc. cmocka wrappers for these functions must have correct name: defining __wrap_open() has no effect for calls to open64(). Unit tests using the wrongly named wrapper functions will fail in non-obvious ways. Use CPP macros to substitute the correct name for affected functions. Also, the Makefile rule that builds the -Wl,wrap= options must parse the C preprocessor output to generate suitable command line parameters for the linker. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 7b217f8 - Browse repository at this point
Copy the full SHA 7b217f8View commit details -
GitHub workflows: update workflow events
- restrict PR workflow runs to the master branch - run multiarch workflow for rolling distros on schedule Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 07bba3e - Browse repository at this point
Copy the full SHA 07bba3eView commit details -
GitHub workflows: update distros to run for
- replace Fedora 37 by 39 - multiarch: less distros, more architectures
Configuration menu - View commit details
-
Copy full SHA for a863c6d - Browse repository at this point
Copy the full SHA a863c6dView commit details -
GitHub workflows: split multiarch workflow in rolling/stable
Run the multipath workflow for rolling distros on schedule, too.
Configuration menu - View commit details
-
Copy full SHA for 6daeb23 - Browse repository at this point
Copy the full SHA 6daeb23View commit details -
GitHub Workflows: run expensive workflows only on relevant changes
Run the expensive multi-arch workflows only if actual source code has changed. Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 2cbe81a - Browse repository at this point
Copy the full SHA 2cbe81aView commit details -
GitHub workflows: add spell checker
Only check end-user visible files: - README - man pages - public header files - udev rules and systemd unit files Also don't check file names, and make sure that the spelling workflow is only rung pushes that alter any of the files above. Add custom patterns (patterns.txt) and dictionary words (expect.txt) to make the spell check pass. See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 2bd2455 - Browse repository at this point
Copy the full SHA 2bd2455View commit details -
Spelling fixes found by check-spelling action
Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 281465c - Browse repository at this point
Copy the full SHA 281465cView commit details -
GitHub Workflows: abi: only run if C code has changed
Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 5864827 - Browse repository at this point
Copy the full SHA 5864827View commit details -
GitHub workflows: abi: error if reference ABI can't be downloaded
The reference ABI (being a workflow artifact) can expire, causing the download to fail. In this case, the abi workflow should not report success. Also, add the "workflow_dispatch" event for the abi workflow, so that we can run it manually if a previous run failed. Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 6619c26 - Browse repository at this point
Copy the full SHA 6619c26View commit details -
GitHub workflows: run on PRs against "queue", too
Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for d6e1442 - Browse repository at this point
Copy the full SHA d6e1442View commit details -
multipath.conf.5: fix documentation for find_multipaths
Document "on" and "off", and mention that "yes"/"1" and "no"/"0" are still accepted as alias values. Suggested-by: Paul Donohue <github@PaulSD.com> Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 89fa0ba - Browse repository at this point
Copy the full SHA 89fa0baView commit details
Commits on Feb 14, 2024
-
libmultipath: hwtable: fix fast_io_fail for Infinibox
The Infinibox hwtable entry had fast_io_fail and dev_loss both set to 15, which has the effect that fast_io_fail is switched off (dev_loss timeout must be higher than fast_io_fail timeout). Remove the dev_loss value, which will cause the default of 600 to be used. Experience shows that dev_loss_tmo values below a few minutes are seldom helpful. Fixes: 55da608 ("libmultipath: update INFINIDAT builtin config") Signed-off-by: Martin Wilck <mwilck@suse.com> Cc: Arnon Yaari <arnony@infinidat.com> Cc: Xose Vazquez Perez <xose.vazquez@gmail.com> Cc: Tom Abraham <tabraham@suse.com> Cc: Jiri Belka <jiri.belka@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for d867d9b - Browse repository at this point
Copy the full SHA d867d9bView commit details -
11-dm-mpath.rules: fix list of imported properties
Make sure we import all properties that are also imported in 13-dm-disk.rules. Keep importing ID_FS_TYPE for now to avoid breakage, even if 13-dm-disk.rules does not. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for c33de4a - Browse repository at this point
Copy the full SHA c33de4aView commit details -
11-dm-mpath.rules: use import logic like 13-dm-disk.rules
We have to import the properties if either DM_NOSCAN or DM_DISABLE_OTHER_RULES_FLAG is set, because blkid will be skipped in both cases. Also, if DM_UDEV_PRIMARY_SOURCE_FLAG is not set, it makes no sense to try and import the properties. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for b3582da - Browse repository at this point
Copy the full SHA b3582daView commit details -
11-dm-mpath.rules: don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG
DM_UDEV_DISABLE_OTHER_RULES_FLAG is handled by 10-dm.rules, which imports it from db if necessary. There is no need to do this again here. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 66f2edc - Browse repository at this point
Copy the full SHA 66f2edcView commit details
Commits on Feb 15, 2024
-
11-dm-mpath.rules: handle reloads during coldplug events
If a map reload happens while udev is processing rules for a coldplug event, DM_SUSPENDED may be set if the respective test in 10-dm.rules happens while the device is suspened. This will cause the rules for all higher block device layers to be skipped. Record this situation in an udev property. The reload operation will trigger another "change" uevent later, which would normally be treated as a reload, and be ignored without rescanning the device. If a previous "coldplug while suspended" situation is detected, perform a full device rescan instead. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 02bbc17 - Browse repository at this point
Copy the full SHA 02bbc17View commit details -
11-dm-mpath.rules: don't save DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD
The current rules overwrite DM_UDEV_DISABLE_OTHER_RULES_FLAG and save its value in DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD if MPATH_DEVICE_READY changes from 1 to 0, and restore DM_UDEV_DISABLE_OTHER_RULES_FLAG from DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD when MPATH_DEVICE_READY changes back from 0 to 1. This is wrong for multiple reasons. For "spurious" events, 10-dm.rules will read DM_UDEV_DISABLE_OTHER_RULES_FLAG from the udev db and obtain the value saved by 11-dm-mpath.rules rather than it's own saved value, which confuses the logic in 10-dm.rules. 10-dm.rules sets the flag if either DISK_RO==1 or DM_SUSPENDED==1, and never clears it (it can only be cleared by a new genuine libdm event that doesn't have DM_UDEV_DISABLE_OTHER_RULES_FLAG set, while the device is not suspended). lvm commands may set the flag, too, but AFAICS this is only done for certain types of logical volumes, not for multipath maps. If a previously suspended device is resumed, DM_UDEV_DISABLE_OTHER_RULES_FLAG would be cleared, and it would be wrong for 11-dm-mpath.rules to overwrite it with a previuosly saved value. Likewise, if a uevent arrives for a suspended map, and MPATH_DEVICE_READY happens to switch from 0 to 1, it would be wrong to clear DM_UDEV_DISABLE_OTHER_RULES_FLAG by setting it to a previously saved value. We need to set DM_UDEV_DISABLE_OTHER_RULES_FLAG=1 to prevent follow-up rules from attempting I/O on the device. But don't try to save and restore DM_UDEV_DISABLE_OTHER_RULES_FLAG between uevents. Rather, reset DM_UDEV_DISABLE_OTHER_RULES_FLAG to the value we got from 10-dm.rules in a late rule. I chose "99-z-" for this rule's prefix to make sure it runs after 99-systemd.rules. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 35640f2 - Browse repository at this point
Copy the full SHA 35640f2View commit details -
11-dm-mpath.rules: clear DM_DISABLE_OTHER_RULES_FLAG for coldplug events
For all "spurious" events, which includes coldplug events, DM_DISABLE_OTHER_RULES_FLAG will be read from the udev DB in 10-dm.rules. Thus if a previous event saw the device in suspended state, the flag will be set even if the device has meanwhile resumed. Reset the flag if none of the conditions hold that would cause it to be set in a genuine uevent in 10-dm.rules. It would be cleaner to do this in 10-dm.rules directly, but it cannot be done easily, because the flag can also have an origin inside lvm itself; lvm sets it for various kinds of logical volumes. For generic (non-LVM) dm devices, the flag is only set in 10-dm.rules though, so doing this is safe for multipath. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for 87cd201 - Browse repository at this point
Copy the full SHA 87cd201View commit details -
11-dm-mpath.rules: Don't force activation while device is suspended
If paths become available while the device is suspended, don't activate. Another uevent will arrive when the device is resumed. Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Configuration menu - View commit details
-
Copy full SHA for b22c273 - Browse repository at this point
Copy the full SHA b22c273View commit details -
libmultipath: bump version to 0.9.8
Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for 7243134 - Browse repository at this point
Copy the full SHA 7243134View commit details
Commits on Feb 23, 2024
-
multipath-tools: added NEWS.md
This file sums up the content of the GitHub PRs since 0.9.0, giving a high-level overview of the changes in the past releases. I thought it might be useful for users and/or distribution maintainers. Signed-off-by: Martin Wilck <mwilck@suse.com>
Configuration menu - View commit details
-
Copy full SHA for ff6fbca - Browse repository at this point
Copy the full SHA ff6fbcaView commit details