On Fri, Mar 18, 2022 at 5:33 PM <mwilck@xxxxxxxx> wrote: > > From: Martin Wilck <mwilck@xxxxxxxx> > > This callback is be used by multipathd to unblock pending > reconfigure requests if a map is removed that multipathd is currently > waiting for. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > libmultipath/libmultipath.version | 3 ++- > libmultipath/structs_vec.c | 6 ++++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/libmultipath/libmultipath.version b/libmultipath/libmultipath.version > index 216f0ee..8132df7 100644 > --- a/libmultipath/libmultipath.version > +++ b/libmultipath/libmultipath.version > @@ -31,7 +31,7 @@ > * The new version inherits the previous ones. > */ > > -LIBMULTIPATH_14.0.0 { > +LIBMULTIPATH_14.1.0 { > global: > /* symbols referenced by multipath and multipathd */ > add_foreign; > @@ -164,6 +164,7 @@ global: > remember_wwid; > remove_map; > remove_map_by_alias; > + remove_map_callback; > remove_maps; > remove_wwid; > replace_wwids; > diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c > index 6c23df8..a69f064 100644 > --- a/libmultipath/structs_vec.c > +++ b/libmultipath/structs_vec.c > @@ -336,11 +336,17 @@ void set_path_removed(struct path *pp) > pp->initialized = INIT_REMOVED; > } > > +void remove_map_callback(struct multipath *mpp __attribute__((unused))) > +{ > +} > + Does this work? I thought that unless you specifically declared the symbol weak, the call in remove_map() would have already gotten resolved to point to the existing remove_map_callback() when the shared library was getting created. Is it because the function is empty? Am I just misunderstanding something? -Ben > void > remove_map(struct multipath *mpp, vector pathvec, vector mpvec) > { > int i; > > + remove_map_callback(mpp); > + > free_pathvec(mpp->paths, KEEP_PATHS); > free_pgvec(mpp->pg, KEEP_PATHS); > mpp->paths = mpp->pg = NULL; > -- > 2.35.1 > -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel