All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: Brian Bunker <brian@purestorage.com>
Cc: dm-devel@lists.linux.dev, mwilck@suse.com,
	christophe.varoqui@opensvc.com
Subject: Re: [PATCH v3 1/1] multipathd: check re-added paths' WWIDs against sysfs
Date: Mon, 9 Nov 2026 17:24:31 -0500	[thread overview]
Message-ID: <avJIHyW4teKMrmM_@redhat.com> (raw)
In-Reply-To: <20261109185556.27139-2-brian@purestorage.com>

On Mon, Nov 09, 2026 at 10:55:55AM -0800, Brian Bunker wrote:
> multipathd takes a path's WWID from udev. When a change uevent reports
> a different WWID, uev_update_path() removes the path from its map and
> re-adds it through uev_add_path(), which places it in whatever map owns
> the new WWID. If the udev value is wrong, or the uevent is stale by the
> time it is processed, the path goes into the map of a different LUN and
> I/O for one LUN is silently sent to another.
> 
> Before such a re-add puts the path into a map, compare its WWID with
> one built from the VPD page 0x83 data the kernel caches in sysfs. If
> they differ, leave the path out of the map: orphan it, clear its WWID
> and mark it INIT_MISSING_UDEV, so the checker retriggers udev and the
> path is re-added from fresh data. This reads no data from the device,
> so it can't hang. The check only runs for paths where
> can_recheck_wwid() is true, where the udev WWID and the one built from
> sysfs come from the same designator selection.
> 
> To tell re-adds from ordinary adds, turn the need_do_map argument of
> uev_add_path() and ev_add_path() into enum path_add_mode, with a new
> PATH_ADD_REINIT value that behaves like PATH_ADD_MAP and is passed only
> for the re-add at the end of uev_update_path(). Ordinary adds are
> unchanged.
> 
> Add get_sysfs_wwid() to libmultipath. It shares get_vpd_uid() and the
> WWID clean-up in get_uid() with the existing sysfs fallback, so both
> build the WWID the same way.
> 
> Signed-off-by: Brian Bunker <brian@purestorage.com>

I'm interested in seeing if this resolves Martin's issues, but as
far as I'm concerned:

Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>


  reply	other threads:[~2026-11-09 22:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-09 18:55 [PATCH v3 0/1] multipathd: check re-added paths' WWIDs against sysfs Brian Bunker
2026-11-09 18:55 ` [PATCH v3 1/1] " Brian Bunker
2026-11-09 22:24   ` Benjamin Marzinski [this message]
2026-11-10 22:21 ` [PATCH v3 0/1] " Martin Wilck
2026-11-11 17:42   ` Brian Bunker
2026-11-11 19:35     ` Martin Wilck
2026-11-11 23:05       ` Brian Bunker
2026-11-12 19:00         ` udev / multipath-tools: WWID determination with SG_IO vs. sysfs Martin Wilck
2026-11-12 19:58           ` Benjamin Marzinski
2026-11-12 20:47             ` Martin Wilck

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=avJIHyW4teKMrmM_@redhat.com \
    --to=bmarzins@redhat.com \
    --cc=brian@purestorage.com \
    --cc=christophe.varoqui@opensvc.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 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.