From: Brian Bunker <brian@purestorage.com>
To: dm-devel@lists.linux.dev
Cc: Brian Bunker <brian@purestorage.com>,
Benjamin Marzinski <bmarzins@redhat.com>,
Martin Wilck <mwilck@suse.com>
Subject: [PATCH 0/1] multipath: fix "multipath -f <path>" regression since 0.9.8
Date: Mon, 28 Sep 2026 09:54:42 -0700 [thread overview]
Message-ID: <cover.1790610404.git.brian@purestorage.com> (raw)
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
next reply other threads:[~2026-09-28 16:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-28 16:54 Brian Bunker [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1790610404.git.brian@purestorage.com \
--to=brian@purestorage.com \
--cc=bmarzins@redhat.com \
--cc=dm-devel@lists.linux.dev \
--cc=mwilck@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox