On Sun, 2020-08-16 at 09:44 +0800, Zhiqiang Liu wrote:
> We adopt static char* array (sd_notify_status_msg) in
> sd_notify_status func, so it looks more simpler and easier
> to expand.
> 
> Signed-off-by: Zhiqiang Liu <liuzhiqian...@huawei.com>
> Signed-off-by: lixiaokeng <lixiaok...@huawei.com>
> ---
>  multipathd/main.c | 26 ++++++++++++--------------
>  1 file changed, 12 insertions(+), 14 deletions(-)
> 
> diff --git a/multipathd/main.c b/multipathd/main.c
> index cab1d0d..a09ccd1 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -177,23 +177,21 @@ daemon_status(void)
>   * I love you too, systemd ...
>   */
>  #ifdef USE_SYSTEMD
> +static const char *sd_notify_status_msg[DAEMON_STATUS_SIZE] = {
> +     [DAEMON_INIT] = "STATUS=init",
> +     [DAEMON_START] = "STATUS=startup",
> +     [DAEMON_CONFIGURE] = "STATUS=configure",
> +     [DAEMON_IDLE] = "STATUS=up",
> +     [DAEMON_RUNNING] = "STATUS=up",
> +     [DAEMON_SHUTDOWN] = "STATUS=shutdown",
> +};
> +

This repetition of "STATUS=" looks clumsy. It's not your fault, because
the current code does the same thing. But if you want to clean this up,
please create the notification string in a dynamic buffer, and use
daemon_status() for those cases where it applies.

Regards
Martin

>  static const char *
>  sd_notify_status(enum daemon_status state)
>  {
> -     switch (state) {
> -     case DAEMON_INIT:
> -             return "STATUS=init";
> -     case DAEMON_START:
> -             return "STATUS=startup";
> -     case DAEMON_CONFIGURE:
> -             return "STATUS=configure";
> -     case DAEMON_IDLE:
> -     case DAEMON_RUNNING:
> -             return "STATUS=up";
> -     case DAEMON_SHUTDOWN:
> -             return "STATUS=shutdown";
> -     }
> -     return NULL;
> +     if (state < DAEMON_INIT || state >= DAEMON_STATUS_SIZE)
> +             return NULL;
> +     return sd_notify_status_msg[state];
>  }
> 
>  static void do_sd_notify(enum daemon_status old_state,


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

Reply via email to