[dm-devel] [PATCH v2 25/29] libmultipath: introduce symbolic values for logsink
Benjamin Marzinski
bmarzins at redhat.com
Fri Oct 16 20:13:40 UTC 2020
On Fri, Oct 16, 2020 at 12:44:57PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
Git complains about this patch adding new blank line at EOF
in libmultipath/debug.h
Otherwise, it looks good.
-Ben
>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/debug.c | 4 ++--
> libmultipath/debug.h | 7 +++++++
> libmultipath/devmapper.c | 4 ++--
> multipath/main.c | 4 ++--
> multipathd/main.c | 17 ++++++++---------
> tests/globals.c | 3 ++-
> tests/hwtable.c | 2 +-
> 7 files changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/libmultipath/debug.c b/libmultipath/debug.c
> index a1713b9..f9b7755 100644
> --- a/libmultipath/debug.c
> +++ b/libmultipath/debug.c
> @@ -25,8 +25,8 @@ void dlog (int sink, int prio, const char * fmt, ...)
> va_start(ap, fmt);
>
> if (prio <= libmp_verbosity) {
> - if (sink < 1) {
> - if (sink == 0) {
> + if (sink != LOGSINK_SYSLOG) {
> + if (sink == LOGSINK_STDERR_WITH_TIME) {
> time_t t = time(NULL);
> struct tm *tb = localtime(&t);
> char buff[16];
> diff --git a/libmultipath/debug.h b/libmultipath/debug.h
> index 1f3bc8b..91ba02b 100644
> --- a/libmultipath/debug.h
> +++ b/libmultipath/debug.h
> @@ -12,3 +12,10 @@ extern int libmp_verbosity;
>
> #define condlog(prio, fmt, args...) \
> dlog(logsink, prio, fmt "\n", ##args)
> +
> +enum {
> + LOGSINK_STDERR_WITH_TIME = 0,
> + LOGSINK_STDERR_WITHOUT_TIME = -1,
> + LOGSINK_SYSLOG = 1,
> +};
> +
> diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
> index a8e0611..78112a9 100644
> --- a/libmultipath/devmapper.c
> +++ b/libmultipath/devmapper.c
> @@ -104,8 +104,8 @@ dm_write_log (int level, const char *file, int line, const char *f, ...)
> return;
>
> va_start(ap, f);
> - if (logsink < 1) {
> - if (logsink == 0) {
> + if (logsink != LOGSINK_SYSLOG) {
> + if (logsink == LOGSINK_STDERR_WITH_TIME) {
> time_t t = time(NULL);
> struct tm *tb = localtime(&t);
> char buff[16];
> diff --git a/multipath/main.c b/multipath/main.c
> index 9bdc5d2..46cfa17 100644
> --- a/multipath/main.c
> +++ b/multipath/main.c
> @@ -840,7 +840,7 @@ main (int argc, char *argv[])
> libmultipath_init();
> if (atexit(dm_lib_exit) || atexit(libmultipath_exit))
> condlog(1, "failed to register cleanup handler for libmultipath: %m");
> - logsink = 0;
> + logsink = LOGSINK_STDERR_WITH_TIME;
> if (init_config(DEFAULT_CONFIGFILE))
> exit(RTVL_FAIL);
> if (atexit(uninit_config))
> @@ -991,7 +991,7 @@ main (int argc, char *argv[])
> if (dev_type == DEV_UEVENT) {
> openlog("multipath", 0, LOG_DAEMON);
> setlogmask(LOG_UPTO(libmp_verbosity + 3));
> - logsink = 1;
> + logsink = LOGSINK_SYSLOG;
> }
>
> set_max_fds(conf->max_fds);
> diff --git a/multipathd/main.c b/multipathd/main.c
> index fbd354c..725a10b 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -2780,7 +2780,7 @@ handle_signals(bool nonfatal)
> }
> if (log_reset_sig) {
> condlog(2, "reset log (signal)");
> - if (logsink == 1)
> + if (logsink == LOGSINK_SYSLOG)
> log_thread_reset();
> }
> reconfig_sig = 0;
> @@ -3032,7 +3032,7 @@ static void cleanup_child(void)
> cleanup_dmevent_waiter();
>
> cleanup_pidfile();
> - if (logsink == 1)
> + if (logsink == LOGSINK_SYSLOG)
> log_thread_stop();
>
> cleanup_conf();
> @@ -3078,7 +3078,7 @@ child (__attribute__((unused)) void *param)
> setup_thread_attr(&uevent_attr, DEFAULT_UEVENT_STACKSIZE * 1024, 0);
> setup_thread_attr(&waiter_attr, 32 * 1024, 1);
>
> - if (logsink == 1) {
> + if (logsink == LOGSINK_SYSLOG) {
> setup_thread_attr(&log_attr, 64 * 1024, 0);
> log_thread_start(&log_attr);
> pthread_attr_destroy(&log_attr);
> @@ -3309,7 +3309,7 @@ main (int argc, char *argv[])
> ANNOTATE_BENIGN_RACE_SIZED(&uxsock_timeout, sizeof(uxsock_timeout),
> "Suppress complaints about this scalar variable");
>
> - logsink = 1;
> + logsink = LOGSINK_SYSLOG;
>
> if (getuid() != 0) {
> fprintf(stderr, "need to be root\n");
> @@ -3336,9 +3336,8 @@ main (int argc, char *argv[])
> switch(arg) {
> case 'd':
> foreground = 1;
> - if (logsink > 0)
> - logsink = 0;
> - //debug=1; /* ### comment me out ### */
> + if (logsink == LOGSINK_SYSLOG)
> + logsink = LOGSINK_STDERR_WITH_TIME;
> break;
> case 'v':
> if (sizeof(optarg) > sizeof(char *) ||
> @@ -3348,7 +3347,7 @@ main (int argc, char *argv[])
> libmp_verbosity = verbosity = atoi(optarg);
> break;
> case 's':
> - logsink = -1;
> + logsink = LOGSINK_STDERR_WITHOUT_TIME;
> break;
> case 'k':
> logsink = 0;
> @@ -3381,7 +3380,7 @@ main (int argc, char *argv[])
> char * s = cmd;
> char * c = s;
>
> - logsink = 0;
> + logsink = LOGSINK_STDERR_WITH_TIME;
> if (verbosity)
> libmp_verbosity = verbosity;
> conf = load_config(DEFAULT_CONFIGFILE);
> diff --git a/tests/globals.c b/tests/globals.c
> index 8add5eb..fc0c07a 100644
> --- a/tests/globals.c
> +++ b/tests/globals.c
> @@ -1,9 +1,10 @@
> #include "structs.h"
> #include "config.h"
> +#include "debug.h"
>
> /* Required globals */
> struct udev *udev;
> -int logsink = -1;
> +int logsink = LOGSINK_STDERR_WITHOUT_TIME;
> struct config conf = {
> .verbosity = 4,
> };
> diff --git a/tests/hwtable.c b/tests/hwtable.c
> index 57f832b..4dd0873 100644
> --- a/tests/hwtable.c
> +++ b/tests/hwtable.c
> @@ -53,7 +53,7 @@ struct hwt_state {
>
> static struct config *_conf;
> struct udev *udev;
> -int logsink = -1;
> +int logsink = LOGSINK_STDERR_WITHOUT_TIME;
>
> struct config *get_multipath_config(void)
> {
> --
> 2.28.0
More information about the dm-devel
mailing list