Linux Device Mapper development
 help / color / mirror / Atom feed
* [PATCH 0/1] multipath: fix "multipath -f <path>" regression since 0.9.8
@ 2026-09-28 16:54 Brian Bunker
  2026-09-28 16:54 ` [PATCH 1/1] multipath: resolve map paths before delegating -f to multipathd Brian Bunker
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Bunker @ 2026-09-28 16:54 UTC (permalink / raw)
  To: dm-devel; +Cc: Brian Bunker, Benjamin Marzinski, Martin Wilck

Since 0.9.8, "multipath -f" fails with "device not found" when it is
given a path to a map, such as /dev/mapper/<alias> or
/dev/disk/by-id/dm-uuid-mpath-<WWID>, while multipathd is running.
This patch fixes it in the multipath command. Some background that
doesn't belong in the commit message:

How it was found
----------------
OpenStack os-brick's Fibre Channel connector detaches a volume with
"multipath -f /dev/disk/by-id/dm-uuid-mpath-<WWID>". Every FC detach
fails on distributions with multipath-tools 0.9.8 or later, including
RHEL/Rocky 10 (0.9.9), Debian 13 and Ubuntu 26.04 (0.14.3), the tested
platform for the next OpenStack release. It is tracked as
https://bugs.launchpad.net/os-brick/+bug/2167932. os-brick is adding
a workaround, but fixing "multipath -f" also covers existing os-brick
releases and other tools that remove maps by path.

Why in the client
-----------------
Commit a4dbdcec made cli_del_map() look up maps with find_mp_by_str(),
like the other client handlers, so I didn't want to bring device-mapper
lookups back into multipathd. get_dev_type() has already stat()ed the
argument, so the client can resolve it to the map name before it
delegates. This leaves "multipathd del map <path>" unsupported. If
you'd rather have multipathd accept paths, I can rework the patch that
way.

Testing
-------
Rocky Linux 10.2, device-mapper-multipath 0.9.9-18.el10 with this
patch on top (it applies cleanly after the RHEL patches), a PURE
FlashArray LUN over iSCSI, multipathd running:

- "multipath -f /dev/disk/by-id/dm-uuid-mpath-<WWID>" and
  "multipath -f /dev/mapper/<WWID>" fail with "device not found"
  without the patch and remove the map with it.
- "multipath -f <WWID>" works as before; the argument isn't changed.

multipathd's log, before and after, for the by-id path:

  disk/by-id/dm-uuid-mpath-44BE9D5DF0A14AFE000113E9: remove map (operator)
  disk/by-id/dm-uuid-mpath-44BE9D5DF0A14AFE000113E9: invalid map name.
  44BE9D5DF0A14AFE000113E9: remove map (operator)

On master, the patch builds without warnings and "make test" passes.

The regression is in every release since 0.9.8, so this may be worth
picking up for the stable branches.

Brian Bunker (1):
  multipath: resolve map paths before delegating -f to multipathd

 multipath/main.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

-- 
2.55.0


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

end of thread, other threads:[~2026-09-28 18:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-28 16:54 [PATCH 0/1] multipath: fix "multipath -f <path>" regression since 0.9.8 Brian Bunker
2026-09-28 16:54 ` [PATCH 1/1] multipath: resolve map paths before delegating -f to multipathd Brian Bunker
2026-09-28 18:50   ` Benjamin Marzinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox