[dm-devel] [PATCH 2/5] libmultipath: don't copy pgpolicy string in get_pgpolicy_name
Martin Wilck
martin.wilck at suse.com
Wed May 31 15:19:00 UTC 2023
On Fri, 2023-05-19 at 18:02 -0500, Benjamin Marzinski wrote:
> copying the value into a passed in buffer doesn't help any of the
> callers of this function. It's just wasted work.
>
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
Reviewed-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/dict.c | 6 +-----
> libmultipath/pgpolicies.c | 27 ++++++++-------------------
> libmultipath/pgpolicies.h | 2 +-
> libmultipath/propsel.c | 6 ++----
> 4 files changed, 12 insertions(+), 29 deletions(-)
>
> diff --git a/libmultipath/dict.c b/libmultipath/dict.c
> index 2e9b45f9..dddd3cd6 100644
> --- a/libmultipath/dict.c
> +++ b/libmultipath/dict.c
> @@ -1209,14 +1209,10 @@ set_pgpolicy(vector strvec, void *ptr, const
> char *file, int line_nr)
> int
> print_pgpolicy(struct strbuf *buff, long pgpolicy)
> {
> - char str[POLICY_NAME_SIZE];
> -
> if (!pgpolicy)
> return 0;
>
> - get_pgpolicy_name(str, POLICY_NAME_SIZE, pgpolicy);
> -
> - return append_strbuf_quoted(buff, str);
> + return append_strbuf_quoted(buff,
> get_pgpolicy_name(pgpolicy));
> }
>
> declare_def_handler(pgpolicy, set_pgpolicy)
> diff --git a/libmultipath/pgpolicies.c b/libmultipath/pgpolicies.c
> index e14da8cc..edc3c611 100644
> --- a/libmultipath/pgpolicies.c
> +++ b/libmultipath/pgpolicies.c
> @@ -31,34 +31,23 @@ int get_pgpolicy_id(char * str)
> return IOPOLICY_UNDEF;
> }
>
> -int get_pgpolicy_name(char * buff, int len, int id)
> +const char *get_pgpolicy_name(int id)
> {
> - char * s;
> -
> switch (id) {
> case FAILOVER:
> - s = "failover";
> - break;
> + return "failover";
> case MULTIBUS:
> - s = "multibus";
> - break;
> + return "multibus";
> case GROUP_BY_SERIAL:
> - s = "group_by_serial";
> - break;
> + return "group_by_serial";
> case GROUP_BY_PRIO:
> - s = "group_by_prio";
> - break;
> + return "group_by_prio";
> case GROUP_BY_NODE_NAME:
> - s = "group_by_node_name";
> - break;
> + return "group_by_node_name";
> case GROUP_BY_TPG:
> - s = "group_by_tpg";
> - break;
> - default:
> - s = "undefined";
> - break;
> + return "group_by_tpg";
> }
> - return snprintf(buff, len, "%s", s);
> + return "undefined"; /* IOPOLICY_UNDEF */
> }
>
>
> diff --git a/libmultipath/pgpolicies.h b/libmultipath/pgpolicies.h
> index d3ab2f35..9e4ddda2 100644
> --- a/libmultipath/pgpolicies.h
> +++ b/libmultipath/pgpolicies.h
> @@ -21,7 +21,7 @@ enum iopolicies {
> };
>
> int get_pgpolicy_id(char *);
> -int get_pgpolicy_name (char *, int, int);
> +const char *get_pgpolicy_name (int);
> int group_paths(struct multipath *, int);
> /*
> * policies
> diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
> index 841fa247..d214281b 100644
> --- a/libmultipath/propsel.c
> +++ b/libmultipath/propsel.c
> @@ -268,7 +268,6 @@ verify_alua_prio(struct multipath *mp)
> int select_pgpolicy(struct config *conf, struct multipath * mp)
> {
> const char *origin;
> - char buff[POLICY_NAME_SIZE];
> int log_prio = 3;
>
> if (conf->pgpolicy_flag > 0) {
> @@ -288,9 +287,8 @@ out:
> log_prio = 1;
> }
> mp->pgpolicyfn = pgpolicies[mp->pgpolicy];
> - get_pgpolicy_name(buff, POLICY_NAME_SIZE, mp->pgpolicy);
> - condlog(log_prio, "%s: path_grouping_policy = %s %s", mp-
> >alias, buff,
> - origin);
> + condlog(log_prio, "%s: path_grouping_policy = %s %s", mp-
> >alias,
> + get_pgpolicy_name(mp->pgpolicy), origin);
> return 0;
> }
>
More information about the dm-devel
mailing list