From: Benjamin Marzinski <bmarzins@redhat.com>
To: Martin Wilck <martin.wilck@suse.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>,
device-mapper development <dm-devel@lists.linux.dev>,
Xose Vazquez Perez <xose.vazquez@gmail.com>
Subject: Re: Coding stye (was Re: [PATCH 1/2] libmutipath: handle blacklisted paths on map_discovery)
Date: Wed, 30 Apr 2025 11:22:43 -0400 [thread overview]
Message-ID: <aBJAQwhaIq2Seaob@redhat.com> (raw)
In-Reply-To: <00c8651c4f589c56b034e7bbe5eb9d59688a1c78.camel@suse.com>
On Wed, Apr 30, 2025 at 09:55:43AM +0200, Martin Wilck wrote:
> On Tue, 2025-04-29 at 16:27 -0400, Benjamin Marzinski wrote:
> > On Tue, Apr 29, 2025 at 09:59:40PM +0200, Martin Wilck wrote:
> > > On Mon, 2025-04-28 at 17:45 -0400, Benjamin Marzinski wrote:
> > > > If the multipath configuration is changed to blacklist existing
> > > > devices,
> > > > and multipathd is reloaded but the blacklisted multipaths device
> > > > can't
> > > > be removed, multipathd was marking the paths as INIT_PARTIAL,
> > > > causing
> > > > them to stay in the multipath device, at least until the
> > > > partial_retrigger_delay timeout elapsed. Instead, mark them as
> > > > INIT_REMOVED and set mpp->need_reload, so the device is reloaded
> > > > and
> > > > the
> > > > paths are removed. To make sure the blacklisted paths are deleted
> > > > when
> > > > the multipath device is removed in coalesce_maps(), set their pp-
> > > > >mpp
> > > > to point to map before removing it.
> > > >
> > > > Fixes d9c61332 ("multipathd: trigger uevents for blacklisted
> > > > paths in
> > > > reconfigure")
> > >
> > > The patch looks good to me, but I only vaguely understand why the
> > > bug
> > > is introduced in d9c61332. Are you positive that before d9c61332,
> > > the
> > > hang didn't occur?
> >
> > Well, I'm pretty sure these blacklisted paths stopped getting deleted
> > during reconfigure by d9c61332. Before d9c61332, blacklisted paths
> > were
> > immediately deleted in update_pathvec_from_dm().
>
> Right, thanks.
>
> I've taken the liberty to fix the typo ("libmutipath") and make some
> minor coding style adjustments in my queue branch. You can inspect the
> result there.
>
> The coding style stuff is work in progress, I've added a clang-format
> based workflow on my tip branch.
>
> I'd like to avoid major reformatting of past code while enforcing
> consistent formatting for present and future submissions which is more-
> or-less in line with what we used to do "sub-conciously" during the
> last years. clang-format has a lot of options [1]. I'm still struggling
> to find style settings that match ours [2].
>
> Let me know if you dislike this, or if you have suggestions for
> improving the settings.
I'm fine with your changes and with using clang-format in general. And I
do prefer just formatting our new changes, like you mentioned in your
tip commit, but if someone wants to make the case for a mass reformat,
I'm willing to consider it.
-Ben
>
> Regards
> Martin
>
> [1] https://clang.llvm.org/docs/ClangFormatStyleOptions.html
> [2] https://github.com/openSUSE/multipath-tools/blob/refs/heads/tip/.clang-format
>
> > After this change
> >
> > @@ -193,7 +196,8 @@ static void update_pathvec_from_dm(vector
> > pathvec, struct multipath *mpp,
> > rc = pathinfo(pp, conf,
> >
> > DI_SYSFS|DI_WWID|DI_BLACKLIST|DI_NOFALLBACK|pathinfo_flags);
> > pthread_cleanup_pop(1);
> > - if (rc != PATHINFO_OK) {
> > + if (rc == PATHINFO_FAILED ||
> > + (rc == PATHINFO_SKIPPED && !map_discovery)) {
> > condlog(1, "%s: error %d in pathinfo,
> > discarding path",
> > pp->dev, rc);
> > vector_del_slot(pgp->paths, j--);
> >
> > they started hanging around, so that uevents could be generated for
> > them
> > by trigger_paths_udev_change(). However, since coalesce_paths() will
> > usually clear pp->mpp, they won't get removed when orphan_paths() is
> > later called by remove_maps() to remove the old maps. I admit I
> > didn't
> > test if the paths got removed before that commit, but the commit
> > message
> > says that they did.
> >
> > -Ben
> >
> > >
> > > >
> > > > Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
> > >
> > > Reviewed-by: Martin Wilck <mwilck@suse.com>
next prev parent reply other threads:[~2025-04-30 15:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-28 21:45 [PATCH 0/2] Handle blacklisted maps on reconfigure Benjamin Marzinski
2025-04-28 21:45 ` [PATCH 1/2] libmutipath: handle blacklisted paths on map_discovery Benjamin Marzinski
2025-04-29 19:59 ` Martin Wilck
2025-04-29 20:27 ` Benjamin Marzinski
2025-04-30 7:55 ` Coding stye (was Re: [PATCH 1/2] libmutipath: handle blacklisted paths on map_discovery) Martin Wilck
2025-04-30 15:22 ` Benjamin Marzinski [this message]
2025-04-30 19:09 ` Martin Wilck
2025-04-28 21:45 ` [PATCH 2/2] multipathd: disable queueing on invalid multipath devices Benjamin Marzinski
2025-04-29 20:00 ` 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=aBJAQwhaIq2Seaob@redhat.com \
--to=bmarzins@redhat.com \
--cc=christophe.varoqui@opensvc.com \
--cc=dm-devel@lists.linux.dev \
--cc=martin.wilck@suse.com \
--cc=xose.vazquez@gmail.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.