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 <bmarz...@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. Martin