From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Sat, 26 Sep 2020 00:32:05 +0200 Subject: [PATCH] libmultipath: introduce symbolic values for logsink Reviewed-by: Benjamin Marzinski Signed-off-by: Benjamin Marzinski --- libmultipath/debug.c | 4 ++-- libmultipath/debug.h | 6 ++++++ libmultipath/devmapper.c | 4 ++-- multipath/main.c | 4 ++-- multipathd/main.c | 17 ++++++++--------- tests/globals.c | 3 ++- tests/hwtable.c | 2 +- 7 files changed, 23 insertions(+), 17 deletions(-) diff --git a/libmultipath/debug.c b/libmultipath/debug.c index a1713b95..f9b77552 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 1f3bc8be..b6ce70a7 100644 --- a/libmultipath/debug.h +++ b/libmultipath/debug.h @@ -12,3 +12,9 @@ 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 dfe95d2f..f8b180e1 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 98d93c58..9ac42869 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -817,7 +817,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)) @@ -968,7 +968,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 ba257515..867f0f84 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; @@ -3033,7 +3033,7 @@ static void cleanup_child(void) cleanup_dmevent_waiter(); cleanup_pidfile(); - if (logsink == 1) + if (logsink == LOGSINK_SYSLOG) log_thread_stop(); cleanup_conf(); @@ -3076,7 +3076,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); @@ -3307,7 +3307,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"); @@ -3334,9 +3334,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 *) || @@ -3346,7 +3345,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; @@ -3379,7 +3378,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 8add5eb7..fc0c07ad 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 57f832b7..4dd0873b 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.17.2