On Fri, Nov 05, 2021 at 12:03:12PM +0100, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> Reviewed-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > > Enable printing pp->initialized with 'multipathd show paths format "%I"'. > This is supposed to go on top of Ben's "multipathd: remove udev settle > dependency" series, to simplify checking multipathd's state. > > --- > libmultipath/print.c | 21 +++++++++++++++++++++ > libmultipath/structs.h | 1 + > 2 files changed, 22 insertions(+) > > diff --git a/libmultipath/print.c b/libmultipath/print.c > index 2fb9f4e..b5b9905 100644 > --- a/libmultipath/print.c > +++ b/libmultipath/print.c > @@ -504,6 +504,26 @@ snprint_dm_path_state (struct strbuf *buff, const struct path * pp) > } > } > > +static int snprint_initialized(struct strbuf *buff, const struct path * pp) > +{ > + static const char *init_state_name[] = { > + [INIT_NEW] = "new", > + [INIT_FAILED] = "failed", > + [INIT_MISSING_UDEV] = "udev-missing", > + [INIT_REQUESTED_UDEV] = "udev-requested", > + [INIT_OK] = "ok", > + [INIT_REMOVED] = "removed", > + [INIT_PARTIAL] = "partial", > + }; > + const char *str; > + > + if (pp->initialized < INIT_NEW || pp->initialized >= __INIT_LAST) > + str = "undef"; > + else > + str = init_state_name[pp->initialized]; > + return append_strbuf_str(buff, str); > +} > + > static int > snprint_vpr (struct strbuf *buff, const struct path * pp) > { > @@ -804,6 +824,7 @@ struct path_data pd[] = { > {'g', "vpd page data", 0, snprint_path_vpd_data}, > {'0', "failures", 0, snprint_path_failures}, > {'P', "protocol", 0, snprint_path_protocol}, > + {'I', "init_st", 0, snprint_initialized}, > {0, NULL, 0 , NULL} > }; > > diff --git a/libmultipath/structs.h b/libmultipath/structs.h > index 69409fd..d8c24b5 100644 > --- a/libmultipath/structs.h > +++ b/libmultipath/structs.h > @@ -206,6 +206,7 @@ enum initialized_states { > * change uevent is received. > */ > INIT_PARTIAL, > + __INIT_LAST, > }; > > enum prkey_sources { > -- > 2.33.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel