This patch set is a re-spin of Ben's previous series by the same name [1]. Patch 1 is my take on fixing the regression with map detection in multipath-tools 0.10.0. The basic idea is to never fail in dm_get_maps(), even if libmp_mapinfo() fails on one or more maps. The behavior wrt "empty" maps, or maps without table, is the same as in 0.9.9 and older, these maps are simply ignored by multipathd. Patch 2 improves the semantics for decting maps with multiple targets. Patch 3-6 are from Ben's original series, with unit test fixes added in patch 3. Patch 7 and 8 improve the semantics of MAPINFO_CHECK_UUID for partitions. Patch 9-11 are minor logging improvements. Patch 12 is an independent bug fix I discovered recently. As usual, comments and reviews welcome. Martin [1] https://lore.kernel.org/dm-devel/20241031183301.391416-1-bmarzins@xxxxxxxxxx/ Benjamin Marzinski (4): 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 Martin Wilck (8): 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 libmultipath/devmapper.c | 70 ++++++++++++++++---------------- libmultipath/devmapper.h | 8 +++- libmultipath/discovery.c | 13 ++++-- libmultipath/structs.h | 1 + multipathd/multipathd.service.in | 3 ++ multipathd/uxclnt.c | 4 +- tests/mapinfo.c | 17 +++++--- 7 files changed, 71 insertions(+), 45 deletions(-) -- 2.47.0