All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] multipath fixes to tableless device handling
@ 2024-10-31 18:32 Benjamin Marzinski
  2024-10-31 18:32 ` [PATCH 1/8] multipathd: print an error when failing to connect to multipathd Benjamin Marzinski
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Benjamin Marzinski @ 2024-10-31 18:32 UTC (permalink / raw)
  To: Christophe Varoqui; +Cc: device-mapper development, Martin Wilck

This patchset include a couple of miscellaneous cleanups, but is mostly
in response to issues brought up in
https://github.com/opensvc/multipath-tools/issues/100
It adds auto restarting to the multipathd.service unit file. I'm fairly
conflicted about the correct limits to be placed on these restarts, so
if anyone has strong opinions and a good argument, I'm more than willing
to change them.

The bulk of the changes deal with how multipath handles devices without
any table. Multipath was supposed to delete these if they were left
behind after a failed device creation, but that code was broken.
However devices aren't typically left behind after failed creates, so it
didn't matter.  

A bigger issue is that multipathd and multipath could fail if tableless
devices were present. With this patchset, they will simply ignore
tableless devices that don't have a multipath prefixed DM UUID. The last
patch is a RFC patch that changes the behavior for tableless devices
that do have a multipath prefixed DM UUID. It makes multipath remove
these devices on the grounds that they are likely failed creates.
However, looking at the libdevmapper code, I'm not sure that we actually
want to do this.  When a DM_DEVICE_CREATE task is run, it will first
create a tableless device, and then immediately load the table and
resume the device. So it's possible any that tableless devices which
multipath sees are actually in the process of getting created. I left
the patch as part of the set, but I'm not sure that removing the devices
is the right answer here. I haven't ever seen any tableless multipath
devices lying around (and I couldn't force any to get created when I
tried). Unless other people have seen these, then I don't think the
final patch of this set should go in.

Benjamin Marzinski (8):
  multipathd: print an error when failing to connect to multipathd
  libmultipath: check DM UUID earlier in libmp_mapinfo__
  libmultipath: Don't fail dm_get_maps for DMP_NOT_FOUND
  multipathd.service: restart multipathd on failure
  libmultipath: use MAPINFO_CHECK_UUID in dm_get_multipath
  libmultipath: signal multipath UUID device with no table
  libmultipath: fix removing device after failed creation
  libmultipath: remove devices with no table and multipath DM UUID

 libmultipath/devmapper.c         | 56 +++++++++++++++++++++++---------
 libmultipath/devmapper.h         |  6 ++--
 multipathd/multipathd.service.in |  3 ++
 multipathd/uxclnt.c              |  4 ++-
 4 files changed, 51 insertions(+), 18 deletions(-)

-- 
2.46.2


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2024-11-13  0:07 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-31 18:32 [PATCH 0/8] multipath fixes to tableless device handling Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 1/8] multipathd: print an error when failing to connect to multipathd Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 2/8] libmultipath: check DM UUID earlier in libmp_mapinfo__ Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 3/8] libmultipath: Don't fail dm_get_maps for DMP_NOT_FOUND Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 4/8] multipathd.service: restart multipathd on failure Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 5/8] libmultipath: use MAPINFO_CHECK_UUID in dm_get_multipath Benjamin Marzinski
2024-10-31 18:32 ` [PATCH 6/8] libmultipath: signal multipath UUID device with no table Benjamin Marzinski
2024-11-06 16:17   ` Martin Wilck
2024-11-07 17:42     ` Benjamin Marzinski
2024-10-31 18:33 ` [PATCH 7/8] libmultipath: fix removing device after failed creation Benjamin Marzinski
2024-10-31 18:33 ` [RFC PATCH 8/8] libmultipath: remove devices with no table and multipath DM UUID Benjamin Marzinski
2024-11-06 16:52 ` [PATCH 0/8] multipath fixes to tableless device handling Martin Wilck
2024-11-07 12:20   ` Martin Wilck
2024-11-07 17:43     ` Benjamin Marzinski
2024-11-07 18:02       ` Martin Wilck
2024-11-08 22:08         ` Benjamin Marzinski
2024-11-08 23:03           ` Martin Wilck
2024-11-11 17:17             ` Benjamin Marzinski
2024-11-12  7:46               ` Martin Wilck
2024-11-13  0:07                 ` Benjamin Marzinski
2024-11-06 16:52 ` Martin Wilck
2024-11-06 22:39   ` Martin Wilck
2024-11-07 17:48     ` Benjamin Marzinski
2024-11-07 18:03       ` Martin Wilck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.