[dm-devel] [PATCH v3 25/29] libmultipath: introduce symbolic values for logsink
Benjamin Marzinski
bmarzins at redhat.com
Thu Dec 17 03:42:27 UTC 2020
On Wed, Dec 16, 2020 at 07:17:04PM +0100, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> 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 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..b6ce70a 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 dfe95d2..f8b180e 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 371be2a..c94bb26 100644
> --- a/multipath/main.c
> +++ b/multipath/main.c
> @@ -816,7 +816,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))
> @@ -967,7 +967,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 ba25751..867f0f8 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 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.29.0
More information about the dm-devel
mailing list