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>
Subject: Re: [PATCH 11/15] limpathpersist: Handle changing key corner case
Date: Mon, 14 Jul 2025 12:59:51 -0400 [thread overview]
Message-ID: <aHU3h8I28IV4V-MY@redhat.com> (raw)
In-Reply-To: <09e59080ff857ab63d46355e47528ea32253fdf1.camel@suse.com>
On Fri, Jul 11, 2025 at 04:11:46PM +0200, Martin Wilck wrote:
> On Fri, 2025-07-11 at 14:15 +0200, Martin Wilck wrote:
> > On Thu, 2025-07-10 at 14:10 -0400, Benjamin Marzinski wrote:
> > > When you change the reservation key of a registered multipath
> > > device,
> > > some of paths might be down or even deleted since you originally
> >
> > [...]
> > >
> > > Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
> >
> > This is not a full review, just feedback about a failing CI pipeline.
> >
> > > ---
> > > libmpathpersist/mpath_persist_int.c | 124 ++++++++++++++++++++----
> > > --
> > > --
> > > 1 file changed, 90 insertions(+), 34 deletions(-)
> > >
> > > diff --git a/libmpathpersist/mpath_persist_int.c
> > > b/libmpathpersist/mpath_persist_int.c
> > > index ad5a4ee7..ca972c2b 100644
> > > --- a/libmpathpersist/mpath_persist_int.c
> > > +++ b/libmpathpersist/mpath_persist_int.c
> > >
> > > +void preempt_missing_path(struct multipath *mpp, uint8_t *key,
> > > uint8_t *sa_key,
> > > + int noisy)
> > > +{
> > > + uint8_t zero[8] = {0};
> > > + struct prin_resp resp = {0};
> >
> > gcc 4.8 (Debian Jessie) dislikes this syntax.
> >
> > > mpath_persist_int.c:272:9: error: missing braces around initializer
> > > [-Werror=missing-braces]
> >
> > The same issue appears in patch 7/15 and patch 15/15.
> > It seems to be a gcc bug
> > (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119).
> > So we could use #pragma to silence the warning, but I'd like to avoid
> > that, especially because it occurs multiple times.
> >
> > I don't think we should drop Jessie support just yet.
> >
> > This works:
> >
> > struct prin_resp resp = {{{0}}};
>
> It does, but it causes an error with Jessie's clang compiler (clang
> 3.5.0).
> ^
> > mpath_persist_int.c:673:30: error: missing field 'additional_length' initializer [-Werror,-Wmissing-field-initializers]
> > struct prin_resp resp = {{{0}}};
>
> Both compilers seem to accept this:
>
> struct prin_resp resp = {{{.prgeneration = 0}}};
>
> It's getting so awkward that we might as well just use memset.
Yeah. picking a member from one of union types to set to 0 is pretty
awkward. I can repost the patches with memsets.
-Ben
>
> Martin
>
next prev parent reply other threads:[~2025-07-14 16:59 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 18:10 [PATCH 00/15] Improve mpathpersist's unavailable path handling Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 01/15] multipathd: remove thread from mpath_pr_event_handle Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 02/15] libmpathpersist: remove uneeded wrapper function Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 03/15] libmpathpersist: reduce log level for persistent reservation checking Benjamin Marzinski
2025-08-24 12:57 ` Martin Wilck
2025-08-25 15:36 ` Martin Wilck
2025-07-10 18:10 ` [PATCH 04/15] libmpathpersist: remove pointless update_map_pr ret value code Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 05/15] multipathd: use update_map_pr in mpath_pr_event_handle Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 06/15] libmpathpersist: limit changing prflag in update_map_pr Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 07/15] multipathd: Don't call update_map_pr unnecessarily Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 08/15] libmpathpersist: remove useless function send_prout_activepath Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 09/15] limpathpersist: redesign failed release workaround Benjamin Marzinski
2025-08-24 15:26 ` Martin Wilck
2025-08-26 0:51 ` Benjamin Marzinski
2025-08-26 8:44 ` Martin Wilck
2025-08-26 10:06 ` Martin Wilck
2025-08-26 21:07 ` Benjamin Marzinski
2025-08-27 6:45 ` Martin Wilck
2025-08-26 19:36 ` Benjamin Marzinski
2025-08-26 20:53 ` Martin Wilck
2025-07-10 18:10 ` [PATCH 10/15] libmpathpersist: fail the release if all threads fail Benjamin Marzinski
2025-08-24 15:33 ` Martin Wilck
2025-08-29 3:23 ` Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 11/15] limpathpersist: Handle changing key corner case Benjamin Marzinski
2025-07-11 12:15 ` Martin Wilck
2025-07-11 14:11 ` Martin Wilck
2025-07-14 16:59 ` Benjamin Marzinski [this message]
2025-07-14 17:15 ` Martin Wilck
2025-07-10 18:10 ` [PATCH 12/15] libmapthpersist: Handle REGISTER AND IGNORE " Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 13/15] libmultipath: rename prflag_value enums Benjamin Marzinski
2025-07-10 18:10 ` [PATCH 14/15] libmpathpersist: use a switch statement for prout command finalizing Benjamin Marzinski
2025-07-10 18:11 ` [PATCH 15/15] libmpathpersist: Add safety check for preempting on key change Benjamin Marzinski
2025-08-24 21:00 ` Martin Wilck
2025-08-25 15:46 ` Martin Wilck
2025-08-24 21:21 ` [PATCH 00/15] Improve mpathpersist's unavailable path handling Martin Wilck
2025-08-25 6:38 ` Hannes Reinecke
2025-08-25 19:56 ` Benjamin Marzinski
2025-08-26 6:06 ` Hannes Reinecke
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=aHU3h8I28IV4V-MY@redhat.com \
--to=bmarzins@redhat.com \
--cc=christophe.varoqui@opensvc.com \
--cc=dm-devel@lists.linux.dev \
--cc=martin.wilck@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.