]> sourceware.org Git - dm.git/commitdiff
Make warnings go to stderr. Adds log_warn macro for that purpose,
authorPetr Rockai <prokai@redhat.com>
Thu, 28 Jun 2007 17:27:01 +0000 (17:27 +0000)
committerPetr Rockai <prokai@redhat.com>
Thu, 28 Jun 2007 17:27:01 +0000 (17:27 +0000)
log_print continues to print to stdout.

WHATS_NEW
include/log.h
lib/ioctl/libdm-iface.c
lib/libdm-common.c

index c133c28a676ab6f00d336266a1dca823acefcf6c..4afe32705b55e056e64860a2cca2560c8fde5aa0 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,6 +1,7 @@
 Version 1.02.21 -
 ================================
   Fix dmsetup -o devno string termination. (1.02.20) 
+  Print warnings to stderr instead of stdout.
 
 Version 1.02.20 - 15th June 2007
 ================================
index 2729ccfd0da62c99a384ea50756c0688e8b2b86d..1c4273be1e1c679d2426a5e0af2f2f3b032003ac 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "libdevmapper.h"
 
+#define _LOG_STDERR 128 /* force things to go to stderr, even if loglevel
+                          would make them go to stdout */
 #define _LOG_DEBUG 7
 #define _LOG_INFO 6
 #define _LOG_NOTICE 5
@@ -31,6 +33,7 @@ extern dm_log_fn dm_log;
 
 #define log_error(x...) plog(_LOG_ERR, x)
 #define log_print(x...) plog(_LOG_WARN, x)
+#define log_warn(x...) plog(_LOG_WARN | _LOG_STDERR, x)
 #define log_verbose(x...) plog(_LOG_NOTICE, x)
 #define log_very_verbose(x...) plog(_LOG_INFO, x)
 #define log_debug(x...) plog(_LOG_DEBUG, x)
index 22eab24bf800cba27a21a6ce82a546c82eb9fc5e..734ff9fb8e266af686eba07f82a0cfa544293035 100644 (file)
@@ -592,9 +592,9 @@ static int _dm_names_v1(struct dm_ioctl_v1 *dmi)
        struct stat buf;
        char path[PATH_MAX];
 
-       log_print("Warning: Device list may be incomplete with interface "
+       log_warn("WARNING: Device list may be incomplete with interface "
                  "version 1.");
-       log_print("Please upgrade your kernel device-mapper driver.");
+       log_warn("Please upgrade your kernel device-mapper driver.");
 
        if (!(d = opendir(dev_dir))) {
                log_error("%s: opendir failed: %s", dev_dir, strerror(errno));
@@ -693,7 +693,7 @@ static int _dm_task_run_v1(struct dm_task *dmt)
 
        if (dmi->flags & DM_BUFFER_FULL_FLAG)
                /* FIXME Increase buffer size and retry operation (if query) */
-               log_error("Warning: libdevmapper buffer too small for data");
+               log_error("WARNING: libdevmapper buffer too small for data");
 
        switch (dmt->type) {
        case DM_DEVICE_CREATE:
@@ -1650,7 +1650,7 @@ repeat_ioctl:
                        dm_free(dmi);
                        goto repeat_ioctl;
                default:
-                       log_error("Warning: libdevmapper buffer too small for data");
+                       log_error("WARNING: libdevmapper buffer too small for data");
                }
        }
 
index 4aa533b39c5f2ce1ed20bc6798c6f0e4d14ed0c2..9af72562abcff4e36ace0481e848da262ee0fb5b 100644 (file)
@@ -42,6 +42,9 @@ static void _default_log(int level, const char *file __attribute((unused)),
                         int line __attribute((unused)), const char *f, ...)
 {
        va_list ap;
+       int use_stderr = level & _LOG_STDERR;
+
+       level &= ~_LOG_STDERR;
 
        if (level > _LOG_WARN && !_verbose)
                return;
@@ -51,14 +54,14 @@ static void _default_log(int level, const char *file __attribute((unused)),
        if (level < _LOG_WARN)
                vfprintf(stderr, f, ap);
        else
-               vprintf(f, ap);
+               vfprintf(use_stderr ? stderr : stdout, f, ap);
 
        va_end(ap);
 
        if (level < _LOG_WARN)
                fprintf(stderr, "\n");
        else
-               fprintf(stdout, "\n");
+               fprintf(use_stderr ? stderr : stdout, "\n");
 }
 
 dm_log_fn dm_log = _default_log;
This page took 0.030969 seconds and 5 git commands to generate.