dm-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: mwilck@suse.com
Cc: lixiaokeng@huawei.com, dm-devel@redhat.com,
	Chongyun Wu <wu.chongyun@h3c.com>
Subject: Re: [dm-devel] [PATCH 11/35] multipathd: make all cli_handlers static
Date: Wed, 15 Sep 2021 18:53:34 -0500	[thread overview]
Message-ID: <20210915235334.GW3087@octiron.msp.redhat.com> (raw)
In-Reply-To: <20210910114120.13665-12-mwilck@suse.com>

On Fri, Sep 10, 2021 at 01:40:56PM +0200, mwilck@suse.com wrote:
> From: Martin Wilck <mwilck@suse.com>
> 
> The cli_handler functions are only called from the handler table and
> need not be exported.
> 
> Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
>  multipathd/cli_handlers.c | 214 ++++++++++++++++++++++----------------
>  multipathd/cli_handlers.h |  61 ++---------
>  multipathd/main.c         |  58 +----------
>  3 files changed, 134 insertions(+), 199 deletions(-)
> 
> diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c
> index 2e4b239..1a9c822 100644
> --- a/multipathd/cli_handlers.c
> +++ b/multipathd/cli_handlers.c
> @@ -39,7 +39,7 @@
>  		*(__len) = *(__rep) ? sizeof(string_literal) : 0;	\
>  	} while (0)
>  
> -int
> +static int
>  show_paths (char ** r, int * len, struct vectors * vecs, char * style,
>  	    int pretty)
>  {
> @@ -70,7 +70,7 @@ show_paths (char ** r, int * len, struct vectors * vecs, char * style,
>  	return 0;
>  }
>  
> -int
> +static int
>  show_path (char ** r, int * len, struct vectors * vecs, struct path *pp,
>  	   char * style)
>  {
> @@ -85,7 +85,7 @@ show_path (char ** r, int * len, struct vectors * vecs, struct path *pp,
>  	return 0;
>  }
>  
> -int
> +static int
>  show_map_topology (char ** r, int * len, struct multipath * mpp,
>  		   struct vectors * vecs)
>  {
> @@ -102,7 +102,7 @@ show_map_topology (char ** r, int * len, struct multipath * mpp,
>  	return 0;
>  }
>  
> -int
> +static int
>  show_maps_topology (char ** r, int * len, struct vectors * vecs)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -128,7 +128,7 @@ show_maps_topology (char ** r, int * len, struct vectors * vecs)
>  	return 0;
>  }
>  
> -int
> +static int
>  show_maps_json (char ** r, int * len, struct vectors * vecs)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -149,7 +149,7 @@ show_maps_json (char ** r, int * len, struct vectors * vecs)
>  	return 0;
>  }
>  
> -int
> +static int
>  show_map_json (char ** r, int * len, struct multipath * mpp,
>  		   struct vectors * vecs)
>  {
> @@ -194,7 +194,7 @@ reset_stats(struct multipath * mpp)
>  	mpp->stat_map_failures = 0;
>  }
>  
> -int
> +static int
>  cli_list_config (void * v, char ** reply, int * len, void * data)
>  {
>  	condlog(3, "list config (operator)");
> @@ -207,7 +207,7 @@ static void v_free(void *x)
>  	vector_free(x);
>  }
>  
> -int
> +static int
>  cli_list_config_local (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -223,7 +223,7 @@ cli_list_config_local (void * v, char ** reply, int * len, void * data)
>  	return ret;
>  }
>  
> -int
> +static int
>  cli_list_paths (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -233,7 +233,7 @@ cli_list_paths (void * v, char ** reply, int * len, void * data)
>  	return show_paths(reply, len, vecs, PRINT_PATH_CHECKER, 1);
>  }
>  
> -int
> +static int
>  cli_list_paths_fmt (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -244,7 +244,7 @@ cli_list_paths_fmt (void * v, char ** reply, int * len, void * data)
>  	return show_paths(reply, len, vecs, fmt, 1);
>  }
>  
> -int
> +static int
>  cli_list_paths_raw (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -255,7 +255,7 @@ cli_list_paths_raw (void * v, char ** reply, int * len, void * data)
>  	return show_paths(reply, len, vecs, fmt, 0);
>  }
>  
> -int
> +static int
>  cli_list_path (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -272,7 +272,7 @@ cli_list_path (void * v, char ** reply, int * len, void * data)
>  	return show_path(reply, len, vecs, pp, "%o");
>  }
>  
> -int
> +static int
>  cli_list_map_topology (void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -291,7 +291,7 @@ cli_list_map_topology (void * v, char ** reply, int * len, void * data)
>  	return show_map_topology(reply, len, mpp, vecs);
>  }
>  
> -int
> +static int
>  cli_list_maps_topology (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -301,7 +301,7 @@ cli_list_maps_topology (void * v, char ** reply, int * len, void * data)
>  	return show_maps_topology(reply, len, vecs);
>  }
>  
> -int
> +static int
>  cli_list_map_json (void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -320,7 +320,7 @@ cli_list_map_json (void * v, char ** reply, int * len, void * data)
>  	return show_map_json(reply, len, mpp, vecs);
>  }
>  
> -int
> +static int
>  cli_list_maps_json (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -330,7 +330,7 @@ cli_list_maps_json (void * v, char ** reply, int * len, void * data)
>  	return show_maps_json(reply, len, vecs);
>  }
>  
> -int
> +static int
>  cli_list_wildcards (void * v, char ** reply, int * len, void * data)
>  {
>  	STRBUF_ON_STACK(buf);
> @@ -343,7 +343,7 @@ cli_list_wildcards (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  show_status (char ** r, int *len, struct vectors * vecs)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -356,7 +356,7 @@ show_status (char ** r, int *len, struct vectors * vecs)
>  	return 0;
>  }
>  
> -int
> +static int
>  show_daemon (char ** r, int *len)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -370,7 +370,7 @@ show_daemon (char ** r, int *len)
>  	return 0;
>  }
>  
> -int
> +static int
>  show_map (char ** r, int *len, struct multipath * mpp, char * style,
>  	  int pretty)
>  {
> @@ -384,7 +384,7 @@ show_map (char ** r, int *len, struct multipath * mpp, char * style,
>  	return 0;
>  }
>  
> -int
> +static int
>  show_maps (char ** r, int *len, struct vectors * vecs, char * style,
>  	   int pretty)
>  {
> @@ -419,7 +419,7 @@ show_maps (char ** r, int *len, struct vectors * vecs, char * style,
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_list_maps_fmt (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -430,7 +430,7 @@ cli_list_maps_fmt (void * v, char ** reply, int * len, void * data)
>  	return show_maps(reply, len, vecs, fmt, 1);
>  }
>  
> -int
> +static int
>  cli_list_maps_raw (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -441,7 +441,7 @@ cli_list_maps_raw (void * v, char ** reply, int * len, void * data)
>  	return show_maps(reply, len, vecs, fmt, 0);
>  }
>  
> -int
> +static int
>  cli_list_map_fmt (void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -461,27 +461,7 @@ cli_list_map_fmt (void * v, char ** reply, int * len, void * data)
>  	return show_map(reply, len, mpp, fmt, 1);
>  }
>  
> -int
> -cli_list_map_raw (void * v, char ** reply, int * len, void * data)
> -{
> -	struct multipath * mpp;
> -	struct vectors * vecs = (struct vectors *)data;
> -	char * param = get_keyparam(v, MAP);
> -	char * fmt = get_keyparam(v, FMT);
> -
> -	param = convert_dev(param, 0);
> -	get_path_layout(vecs->pathvec, 0);
> -	get_multipath_layout(vecs->mpvec, 1);
> -	mpp = find_mp_by_str(vecs->mpvec, param);
> -	if (!mpp)
> -		return 1;
> -
> -	condlog(3, "list map %s fmt %s (operator)", param, fmt);
> -
> -	return show_map(reply, len, mpp, fmt, 0);
> -}
> -
> -int
> +static int
>  cli_list_maps (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -491,7 +471,7 @@ cli_list_maps (void * v, char ** reply, int * len, void * data)
>  	return show_maps(reply, len, vecs, PRINT_MAP_NAMES, 1);
>  }
>  
> -int
> +static int
>  cli_list_status (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -501,7 +481,7 @@ cli_list_status (void * v, char ** reply, int * len, void * data)
>  	return show_status(reply, len, vecs);
>  }
>  
> -int
> +static int
>  cli_list_maps_status (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -511,7 +491,7 @@ cli_list_maps_status (void * v, char ** reply, int * len, void * data)
>  	return show_maps(reply, len, vecs, PRINT_MAP_STATUS, 1);
>  }
>  
> -int
> +static int
>  cli_list_maps_stats (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -521,7 +501,7 @@ cli_list_maps_stats (void * v, char ** reply, int * len, void * data)
>  	return show_maps(reply, len, vecs, PRINT_MAP_STATS, 1);
>  }
>  
> -int
> +static int
>  cli_list_daemon (void * v, char ** reply, int * len, void * data)
>  {
>  	condlog(3, "list daemon (operator)");
> @@ -529,7 +509,7 @@ cli_list_daemon (void * v, char ** reply, int * len, void * data)
>  	return show_daemon(reply, len);
>  }
>  
> -int
> +static int
>  cli_reset_maps_stats (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -544,7 +524,7 @@ cli_reset_maps_stats (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_reset_map_stats (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -562,7 +542,7 @@ cli_reset_map_stats (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_add_path (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -678,7 +658,7 @@ blacklisted:
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_del_path (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -701,7 +681,7 @@ cli_del_path (void * v, char ** reply, int * len, void * data)
>  	return (ret == REMOVE_PATH_FAILURE);
>  }
>  
> -int
> +static int
>  cli_add_map (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -761,7 +741,7 @@ cli_add_map (void * v, char ** reply, int * len, void * data)
>  	return rc;
>  }
>  
> -int
> +static int
>  cli_del_map (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -790,7 +770,7 @@ cli_del_map (void * v, char ** reply, int * len, void * data)
>  	return rc;
>  }
>  
> -int
> +static int
>  cli_del_maps (void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -809,7 +789,7 @@ cli_del_maps (void *v, char **reply, int *len, void *data)
>  	return ret;
>  }
>  
> -int
> +static int
>  cli_reload(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -837,7 +817,7 @@ cli_reload(void *v, char **reply, int *len, void *data)
>  	return reload_and_sync_map(mpp, vecs, 0);
>  }
>  
> -int resize_map(struct multipath *mpp, unsigned long long size,
> +static int resize_map(struct multipath *mpp, unsigned long long size,
>  	       struct vectors * vecs)
>  {
>  	char *params __attribute__((cleanup(cleanup_charp))) = NULL;
> @@ -862,7 +842,7 @@ int resize_map(struct multipath *mpp, unsigned long long size,
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_resize(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -927,7 +907,7 @@ cli_resize(void *v, char **reply, int *len, void *data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_force_no_daemon_q(void * v, char ** reply, int * len, void * data)
>  {
>  	struct config *conf;
> @@ -940,7 +920,7 @@ cli_force_no_daemon_q(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_restore_no_daemon_q(void * v, char ** reply, int * len, void * data)
>  {
>  	struct config *conf;
> @@ -953,7 +933,7 @@ cli_restore_no_daemon_q(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_restore_queueing(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -994,7 +974,7 @@ cli_restore_queueing(void *v, char **reply, int *len, void *data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_restore_all_queueing(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1016,7 +996,7 @@ cli_restore_all_queueing(void *v, char **reply, int *len, void *data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_disable_queueing(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1045,7 +1025,7 @@ cli_disable_queueing(void *v, char **reply, int *len, void *data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_disable_all_queueing(void *v, char **reply, int *len, void *data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1064,7 +1044,7 @@ cli_disable_all_queueing(void *v, char **reply, int *len, void *data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_switch_group(void * v, char ** reply, int * len, void * data)
>  {
>  	char * mapname = get_keyparam(v, MAP);
> @@ -1076,7 +1056,7 @@ cli_switch_group(void * v, char ** reply, int * len, void * data)
>  	return dm_switchgroup(mapname, groupnum);
>  }
>  
> -int
> +static int
>  cli_reconfigure(void * v, char ** reply, int * len, void * data)
>  {
>  	condlog(2, "reconfigure (operator)");
> @@ -1085,7 +1065,7 @@ cli_reconfigure(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_suspend(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1115,7 +1095,7 @@ cli_suspend(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_resume(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1147,7 +1127,7 @@ cli_resume(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_reinstate(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1170,7 +1150,7 @@ cli_reinstate(void * v, char ** reply, int * len, void * data)
>  	return dm_reinstate_path(pp->mpp->alias, pp->dev_t);
>  }
>  
> -int
> +static int
>  cli_reassign (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1194,7 +1174,7 @@ cli_reassign (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_fail(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1223,7 +1203,7 @@ cli_fail(void * v, char ** reply, int * len, void * data)
>  	return r;
>  }
>  
> -int
> +static int
>  show_blacklist (char ** r, int * len)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -1243,7 +1223,7 @@ show_blacklist (char ** r, int * len)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_list_blacklist (void * v, char ** reply, int * len, void * data)
>  {
>  	condlog(3, "list blacklist (operator)");
> @@ -1251,7 +1231,7 @@ cli_list_blacklist (void * v, char ** reply, int * len, void * data)
>  	return show_blacklist(reply, len);
>  }
>  
> -int
> +static int
>  show_devices (char ** r, int * len, struct vectors *vecs)
>  {
>  	STRBUF_ON_STACK(reply);
> @@ -1272,7 +1252,7 @@ show_devices (char ** r, int * len, struct vectors *vecs)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_list_devices (void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
> @@ -1282,13 +1262,13 @@ cli_list_devices (void * v, char ** reply, int * len, void * data)
>  	return show_devices(reply, len, vecs);
>  }
>  
> -int
> +static int
>  cli_quit (void * v, char ** reply, int * len, void * data)
>  {
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_shutdown (void * v, char ** reply, int * len, void * data)
>  {
>  	condlog(3, "shutdown (operator)");
> @@ -1296,7 +1276,7 @@ cli_shutdown (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_getprstatus (void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1321,7 +1301,7 @@ cli_getprstatus (void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_setprstatus(void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1344,7 +1324,7 @@ cli_setprstatus(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_unsetprstatus(void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1366,7 +1346,7 @@ cli_unsetprstatus(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_getprkey(void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1398,7 +1378,7 @@ cli_getprkey(void * v, char ** reply, int * len, void * data)
>  	return 0;
>  }
>  
> -int
> +static int
>  cli_unsetprkey(void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1422,7 +1402,7 @@ cli_unsetprkey(void * v, char ** reply, int * len, void * data)
>  	return ret;
>  }
>  
> -int
> +static int
>  cli_setprkey(void * v, char ** reply, int * len, void * data)
>  {
>  	struct multipath * mpp;
> @@ -1454,7 +1434,7 @@ cli_setprkey(void * v, char ** reply, int * len, void * data)
>  	return ret;
>  }
>  
> -int cli_set_marginal(void * v, char ** reply, int * len, void * data)
> +static int cli_set_marginal(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
>  	char * param = get_keyparam(v, PATH);
> @@ -1481,7 +1461,7 @@ int cli_set_marginal(void * v, char ** reply, int * len, void * data)
>  	return reload_and_sync_map(pp->mpp, vecs, 0);
>  }
>  
> -int cli_unset_marginal(void * v, char ** reply, int * len, void * data)
> +static int cli_unset_marginal(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
>  	char * param = get_keyparam(v, PATH);
> @@ -1508,7 +1488,7 @@ int cli_unset_marginal(void * v, char ** reply, int * len, void * data)
>  	return reload_and_sync_map(pp->mpp, vecs, 0);
>  }
>  
> -int cli_unset_all_marginal(void * v, char ** reply, int * len, void * data)
> +static int cli_unset_all_marginal(void * v, char ** reply, int * len, void * data)
>  {
>  	struct vectors * vecs = (struct vectors *)data;
>  	char * mapname = get_keyparam(v, MAP);
> @@ -1544,3 +1524,63 @@ int cli_unset_all_marginal(void * v, char ** reply, int * len, void * data)
>  
>  	return reload_and_sync_map(mpp, vecs, 0);
>  }
> +
> +void init_handler_callbacks(void)
> +{
> +	set_handler_callback(LIST+PATHS, cli_list_paths);
> +	set_handler_callback(LIST+PATHS+FMT, cli_list_paths_fmt);
> +	set_handler_callback(LIST+PATHS+RAW+FMT, cli_list_paths_raw);
> +	set_handler_callback(LIST+PATH, cli_list_path);
> +	set_handler_callback(LIST+MAPS, cli_list_maps);
> +	set_handler_callback(LIST+STATUS, cli_list_status);
> +	set_unlocked_handler_callback(LIST+DAEMON, cli_list_daemon);
> +	set_handler_callback(LIST+MAPS+STATUS, cli_list_maps_status);
> +	set_handler_callback(LIST+MAPS+STATS, cli_list_maps_stats);
> +	set_handler_callback(LIST+MAPS+FMT, cli_list_maps_fmt);
> +	set_handler_callback(LIST+MAPS+RAW+FMT, cli_list_maps_raw);
> +	set_handler_callback(LIST+MAPS+TOPOLOGY, cli_list_maps_topology);
> +	set_handler_callback(LIST+TOPOLOGY, cli_list_maps_topology);
> +	set_handler_callback(LIST+MAPS+JSON, cli_list_maps_json);
> +	set_handler_callback(LIST+MAP+TOPOLOGY, cli_list_map_topology);
> +	set_handler_callback(LIST+MAP+FMT, cli_list_map_fmt);
> +	set_handler_callback(LIST+MAP+RAW+FMT, cli_list_map_fmt);
> +	set_handler_callback(LIST+MAP+JSON, cli_list_map_json);
> +	set_handler_callback(LIST+CONFIG+LOCAL, cli_list_config_local);
> +	set_handler_callback(LIST+CONFIG, cli_list_config);
> +	set_handler_callback(LIST+BLACKLIST, cli_list_blacklist);
> +	set_handler_callback(LIST+DEVICES, cli_list_devices);
> +	set_handler_callback(LIST+WILDCARDS, cli_list_wildcards);
> +	set_handler_callback(RESET+MAPS+STATS, cli_reset_maps_stats);
> +	set_handler_callback(RESET+MAP+STATS, cli_reset_map_stats);
> +	set_handler_callback(ADD+PATH, cli_add_path);
> +	set_handler_callback(DEL+PATH, cli_del_path);
> +	set_handler_callback(ADD+MAP, cli_add_map);
> +	set_handler_callback(DEL+MAP, cli_del_map);
> +	set_handler_callback(DEL+MAPS, cli_del_maps);
> +	set_handler_callback(SWITCH+MAP+GROUP, cli_switch_group);
> +	set_unlocked_handler_callback(RECONFIGURE, cli_reconfigure);
> +	set_handler_callback(SUSPEND+MAP, cli_suspend);
> +	set_handler_callback(RESUME+MAP, cli_resume);
> +	set_handler_callback(RESIZE+MAP, cli_resize);
> +	set_handler_callback(RELOAD+MAP, cli_reload);
> +	set_handler_callback(RESET+MAP, cli_reassign);
> +	set_handler_callback(REINSTATE+PATH, cli_reinstate);
> +	set_handler_callback(FAIL+PATH, cli_fail);
> +	set_handler_callback(DISABLEQ+MAP, cli_disable_queueing);
> +	set_handler_callback(RESTOREQ+MAP, cli_restore_queueing);
> +	set_handler_callback(DISABLEQ+MAPS, cli_disable_all_queueing);
> +	set_handler_callback(RESTOREQ+MAPS, cli_restore_all_queueing);
> +	set_unlocked_handler_callback(QUIT, cli_quit);
> +	set_unlocked_handler_callback(SHUTDOWN, cli_shutdown);
> +	set_handler_callback(GETPRSTATUS+MAP, cli_getprstatus);
> +	set_handler_callback(SETPRSTATUS+MAP, cli_setprstatus);
> +	set_handler_callback(UNSETPRSTATUS+MAP, cli_unsetprstatus);
> +	set_handler_callback(FORCEQ+DAEMON, cli_force_no_daemon_q);
> +	set_handler_callback(RESTOREQ+DAEMON, cli_restore_no_daemon_q);
> +	set_handler_callback(GETPRKEY+MAP, cli_getprkey);
> +	set_handler_callback(SETPRKEY+MAP+KEY, cli_setprkey);
> +	set_handler_callback(UNSETPRKEY+MAP, cli_unsetprkey);
> +	set_handler_callback(SETMARGINAL+PATH, cli_set_marginal);
> +	set_handler_callback(UNSETMARGINAL+PATH, cli_unset_marginal);
> +	set_handler_callback(UNSETMARGINAL+MAP, cli_unset_all_marginal);
> +}
> diff --git a/multipathd/cli_handlers.h b/multipathd/cli_handlers.h
> index 6f57b42..7eaf847 100644
> --- a/multipathd/cli_handlers.h
> +++ b/multipathd/cli_handlers.h
> @@ -1,55 +1,6 @@
> -int cli_list_paths (void * v, char ** reply, int * len, void * data);
> -int cli_list_paths_fmt (void * v, char ** reply, int * len, void * data);
> -int cli_list_paths_raw (void * v, char ** reply, int * len, void * data);
> -int cli_list_path (void * v, char ** reply, int * len, void * data);
> -int cli_list_status (void * v, char ** reply, int * len, void * data);
> -int cli_list_daemon (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_fmt (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_raw (void * v, char ** reply, int * len, void * data);
> -int cli_list_map_fmt (void * v, char ** reply, int * len, void * data);
> -int cli_list_map_raw (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_status (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_stats (void * v, char ** reply, int * len, void * data);
> -int cli_list_map_topology (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_topology (void * v, char ** reply, int * len, void * data);
> -int cli_list_map_json (void * v, char ** reply, int * len, void * data);
> -int cli_list_maps_json (void * v, char ** reply, int * len, void * data);
> -int cli_list_config (void * v, char ** reply, int * len, void * data);
> -int cli_list_config_local (void * v, char ** reply, int * len, void * data);
> -int cli_list_blacklist (void * v, char ** reply, int * len, void * data);
> -int cli_list_devices (void * v, char ** reply, int * len, void * data);
> -int cli_list_wildcards (void * v, char ** reply, int * len, void * data);
> -int cli_reset_maps_stats (void * v, char ** reply, int * len, void * data);
> -int cli_reset_map_stats (void * v, char ** reply, int * len, void * data);
> -int cli_add_path (void * v, char ** reply, int * len, void * data);
> -int cli_del_path (void * v, char ** reply, int * len, void * data);
> -int cli_add_map (void * v, char ** reply, int * len, void * data);
> -int cli_del_map (void * v, char ** reply, int * len, void * data);
> -int cli_del_maps (void * v, char ** reply, int * len, void * data);
> -int cli_switch_group(void * v, char ** reply, int * len, void * data);
> -int cli_reconfigure(void * v, char ** reply, int * len, void * data);
> -int cli_resize(void * v, char ** reply, int * len, void * data);
> -int cli_reload(void * v, char ** reply, int * len, void * data);
> -int cli_disable_queueing(void * v, char ** reply, int * len, void * data);
> -int cli_disable_all_queueing(void * v, char ** reply, int * len, void * data);
> -int cli_restore_queueing(void * v, char ** reply, int * len, void * data);
> -int cli_restore_all_queueing(void * v, char ** reply, int * len, void * data);
> -int cli_suspend(void * v, char ** reply, int * len, void * data);
> -int cli_resume(void * v, char ** reply, int * len, void * data);
> -int cli_reinstate(void * v, char ** reply, int * len, void * data);
> -int cli_fail(void * v, char ** reply, int * len, void * data);
> -int cli_force_no_daemon_q(void * v, char ** reply, int * len, void * data);
> -int cli_restore_no_daemon_q(void * v, char ** reply, int * len, void * data);
> -int cli_quit(void * v, char ** reply, int * len, void * data);
> -int cli_shutdown(void * v, char ** reply, int * len, void * data);
> -int cli_reassign (void * v, char ** reply, int * len, void * data);
> -int cli_getprstatus(void * v, char ** reply, int * len, void * data);
> -int cli_setprstatus(void * v, char ** reply, int * len, void * data);
> -int cli_unsetprstatus(void * v, char ** reply, int * len, void * data);
> -int cli_getprkey(void * v, char ** reply, int * len, void * data);
> -int cli_setprkey(void * v, char ** reply, int * len, void * data);
> -int cli_unsetprkey(void * v, char ** reply, int * len, void * data);
> -int cli_set_marginal(void * v, char ** reply, int * len, void * data);
> -int cli_unset_marginal(void * v, char ** reply, int * len, void * data);
> -int cli_unset_all_marginal(void * v, char ** reply, int * len, void * data);
> +#ifndef _CLI_HANDLERS_H
> +#define _CLI_HANDLERS_H
> +
> +void init_handler_callbacks(void);
> +
> +#endif
> diff --git a/multipathd/main.c b/multipathd/main.c
> index 5fb6989..bda51c9 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -1693,63 +1693,7 @@ uxlsnrloop (void * ap)
>  	/* Tell main thread that thread has started */
>  	post_config_state(DAEMON_CONFIGURE);
>  
> -	set_handler_callback(LIST+PATHS, cli_list_paths);
> -	set_handler_callback(LIST+PATHS+FMT, cli_list_paths_fmt);
> -	set_handler_callback(LIST+PATHS+RAW+FMT, cli_list_paths_raw);
> -	set_handler_callback(LIST+PATH, cli_list_path);
> -	set_handler_callback(LIST+MAPS, cli_list_maps);
> -	set_handler_callback(LIST+STATUS, cli_list_status);
> -	set_unlocked_handler_callback(LIST+DAEMON, cli_list_daemon);
> -	set_handler_callback(LIST+MAPS+STATUS, cli_list_maps_status);
> -	set_handler_callback(LIST+MAPS+STATS, cli_list_maps_stats);
> -	set_handler_callback(LIST+MAPS+FMT, cli_list_maps_fmt);
> -	set_handler_callback(LIST+MAPS+RAW+FMT, cli_list_maps_raw);
> -	set_handler_callback(LIST+MAPS+TOPOLOGY, cli_list_maps_topology);
> -	set_handler_callback(LIST+TOPOLOGY, cli_list_maps_topology);
> -	set_handler_callback(LIST+MAPS+JSON, cli_list_maps_json);
> -	set_handler_callback(LIST+MAP+TOPOLOGY, cli_list_map_topology);
> -	set_handler_callback(LIST+MAP+FMT, cli_list_map_fmt);
> -	set_handler_callback(LIST+MAP+RAW+FMT, cli_list_map_fmt);
> -	set_handler_callback(LIST+MAP+JSON, cli_list_map_json);
> -	set_handler_callback(LIST+CONFIG+LOCAL, cli_list_config_local);
> -	set_handler_callback(LIST+CONFIG, cli_list_config);
> -	set_handler_callback(LIST+BLACKLIST, cli_list_blacklist);
> -	set_handler_callback(LIST+DEVICES, cli_list_devices);
> -	set_handler_callback(LIST+WILDCARDS, cli_list_wildcards);
> -	set_handler_callback(RESET+MAPS+STATS, cli_reset_maps_stats);
> -	set_handler_callback(RESET+MAP+STATS, cli_reset_map_stats);
> -	set_handler_callback(ADD+PATH, cli_add_path);
> -	set_handler_callback(DEL+PATH, cli_del_path);
> -	set_handler_callback(ADD+MAP, cli_add_map);
> -	set_handler_callback(DEL+MAP, cli_del_map);
> -	set_handler_callback(DEL+MAPS, cli_del_maps);
> -	set_handler_callback(SWITCH+MAP+GROUP, cli_switch_group);
> -	set_unlocked_handler_callback(RECONFIGURE, cli_reconfigure);
> -	set_handler_callback(SUSPEND+MAP, cli_suspend);
> -	set_handler_callback(RESUME+MAP, cli_resume);
> -	set_handler_callback(RESIZE+MAP, cli_resize);
> -	set_handler_callback(RELOAD+MAP, cli_reload);
> -	set_handler_callback(RESET+MAP, cli_reassign);
> -	set_handler_callback(REINSTATE+PATH, cli_reinstate);
> -	set_handler_callback(FAIL+PATH, cli_fail);
> -	set_handler_callback(DISABLEQ+MAP, cli_disable_queueing);
> -	set_handler_callback(RESTOREQ+MAP, cli_restore_queueing);
> -	set_handler_callback(DISABLEQ+MAPS, cli_disable_all_queueing);
> -	set_handler_callback(RESTOREQ+MAPS, cli_restore_all_queueing);
> -	set_unlocked_handler_callback(QUIT, cli_quit);
> -	set_unlocked_handler_callback(SHUTDOWN, cli_shutdown);
> -	set_handler_callback(GETPRSTATUS+MAP, cli_getprstatus);
> -	set_handler_callback(SETPRSTATUS+MAP, cli_setprstatus);
> -	set_handler_callback(UNSETPRSTATUS+MAP, cli_unsetprstatus);
> -	set_handler_callback(FORCEQ+DAEMON, cli_force_no_daemon_q);
> -	set_handler_callback(RESTOREQ+DAEMON, cli_restore_no_daemon_q);
> -	set_handler_callback(GETPRKEY+MAP, cli_getprkey);
> -	set_handler_callback(SETPRKEY+MAP+KEY, cli_setprkey);
> -	set_handler_callback(UNSETPRKEY+MAP, cli_unsetprkey);
> -	set_handler_callback(SETMARGINAL+PATH, cli_set_marginal);
> -	set_handler_callback(UNSETMARGINAL+PATH, cli_unset_marginal);
> -	set_handler_callback(UNSETMARGINAL+MAP, cli_unset_all_marginal);
> -
> +	init_handler_callbacks();
>  	umask(077);
>  	uxsock_listen(&uxsock_trigger, ux_sock, ap);
>  
> -- 
> 2.33.0

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


  reply	other threads:[~2021-09-15 23:53 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-10 11:40 [dm-devel] [PATCH 00/35] multipathd: uxlsnr overhaul mwilck
2021-09-10 11:40 ` [dm-devel] [PATCH 01/35] libmultipath: add timespeccmp() utility function mwilck
2021-09-15 22:07   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 02/35] libmultipath: add trylock() helper mwilck
2021-09-15 22:07   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 03/35] libmultipath: add optional wakeup functionality to lock.c mwilck
2021-09-15 22:13   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 04/35] libmultipath: print: add __snprint_config() mwilck
2021-09-15 22:14   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 05/35] libmultipath: improve cleanup of uevent queues on exit mwilck
2021-09-15 22:20   ` Benjamin Marzinski
2021-09-16  7:10     ` Martin Wilck
2021-09-16 14:26       ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 06/35] multipathd: fix systemd notification when stopping while reloading mwilck
2021-09-15 22:55   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 07/35] multipathd: improve delayed reconfigure mwilck
2021-09-15 23:00   ` Benjamin Marzinski
2021-09-16  7:16     ` Martin Wilck
2021-09-10 11:40 ` [dm-devel] [PATCH 08/35] multipathd: cli.h: formatting improvements mwilck
2021-09-15 23:01   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 09/35] multipathd: cli_del_map: fix reply for delayed action mwilck
2021-09-15 23:40   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 10/35] multipathd: add prototype for cli_handler functions mwilck
2021-09-15 23:53   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 11/35] multipathd: make all cli_handlers static mwilck
2021-09-15 23:53   ` Benjamin Marzinski [this message]
2021-09-10 11:40 ` [dm-devel] [PATCH 12/35] multipathd: add and set cli_handlers in a single step mwilck
2021-09-16  0:01   ` Benjamin Marzinski
2021-09-16  7:22     ` Martin Wilck
2021-11-12 21:45     ` Martin Wilck
2021-09-10 11:40 ` [dm-devel] [PATCH 13/35] multipathd: cli.c: use ESRCH for "command not found" mwilck
2021-09-16  0:02   ` Benjamin Marzinski
2021-09-10 11:40 ` [dm-devel] [PATCH 14/35] multipathd: add "force_reconfigure" option mwilck
2021-09-16  0:13   ` Benjamin Marzinski
2021-09-16  7:34     ` Martin Wilck
2021-09-16 14:32       ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 15/35] multipathd: uxlsnr: avoid stalled clients during reconfigure mwilck
2021-09-16  2:17   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 16/35] multipathd: uxlsnr: handle client HUP mwilck
2021-09-16  2:17   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 17/35] multipathd: uxlsnr: use symbolic values for pollfd indices mwilck
2021-09-16  2:18   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 18/35] multipathd: uxlsnr: avoid using fd -1 in ppoll() mwilck
2021-09-16  2:18   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 19/35] multipathd: uxlsnr: data structure for stateful client connection mwilck
2021-09-16  2:19   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 20/35] multipathd: move uxsock_trigger() to uxlsnr.c mwilck
2021-09-16  2:19   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 21/35] multipathd: move parse_cmd() " mwilck
2021-09-16  2:19   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 22/35] multipathd: uxlsnr: remove check_timeout() mwilck
2021-09-16  2:21   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 23/35] multipathd: uxlsnr: move client handling to separate function mwilck
2021-09-16  2:21   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 24/35] multipathd: uxlsnr: use main poll loop for receiving mwilck
2021-09-16  2:22   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 25/35] multipathd: use strbuf in cli_handler functions mwilck
2021-09-16  2:23   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 26/35] multipathd: uxlsnr: check root on connection startup mwilck
2021-09-16  2:23   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 27/35] multipathd: uxlsnr: pass struct client to uxsock_trigger() and parse_cmd() mwilck
2021-09-16  2:28   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 28/35] multipathd: uxlsnr: move handler execution to separate function mwilck
2021-09-16  2:28   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 29/35] multipathd: uxlsnr: use parser to determine non-root commands mwilck
2021-09-16  2:29   ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 30/35] multipathd: uxlsnr: merge uxsock_trigger() into state machine mwilck
2021-09-16  3:32   ` Benjamin Marzinski
2021-09-16  8:02     ` Martin Wilck
2021-11-12 22:07     ` Martin Wilck
2021-09-10 11:41 ` [dm-devel] [PATCH 31/35] multipathd: uxlsnr: add idle notification mwilck
2021-09-16  4:14   ` Benjamin Marzinski
2021-09-16  8:54     ` Martin Wilck
2021-09-16 15:06       ` Benjamin Marzinski
2021-09-16 15:54         ` Martin Wilck
2021-09-16 16:10           ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 32/35] multipathd: uxlsnr: add timeout handling mwilck
2021-09-16  4:17   ` Benjamin Marzinski
2021-09-16  8:58     ` Martin Wilck
2021-09-16 15:08       ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 33/35] multipathd: uxlsnr: use poll loop for sending, too mwilck
2021-09-16  4:22   ` Benjamin Marzinski
2021-09-16  9:33     ` Martin Wilck
2021-09-16 15:26       ` Benjamin Marzinski
2021-09-10 11:41 ` [dm-devel] [PATCH 34/35] multipathd: uxlsnr: drop client_lock mwilck
2021-09-16  4:24   ` Benjamin Marzinski
2021-09-16  9:34     ` Martin Wilck
2021-09-10 11:41 ` [dm-devel] [PATCH 35/35] multipathd: uxclt: allow client mode for non-root, too mwilck
2021-09-16  4:24   ` Benjamin Marzinski

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=20210915235334.GW3087@octiron.msp.redhat.com \
    --to=bmarzins@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=lixiaokeng@huawei.com \
    --cc=mwilck@suse.com \
    --cc=wu.chongyun@h3c.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).