[dm-devel] device-mapper ./WHATS_NEW include/log.h lib/li ...
mornfall at sourceware.org
mornfall at sourceware.org
Thu Jun 28 17:27:02 UTC 2007
CVSROOT: /cvs/dm
Module name: device-mapper
Changes by: mornfall at sourceware.org 2007-06-28 17:27:02
Modified files:
. : WHATS_NEW
include : log.h
lib : libdm-common.c
lib/ioctl : libdm-iface.c
Log message:
Make warnings go to stderr. Adds log_warn macro for that purpose,
log_print continues to print to stdout.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/WHATS_NEW.diff?cvsroot=dm&r1=1.188&r2=1.189
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/include/log.h.diff?cvsroot=dm&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/lib/libdm-common.c.diff?cvsroot=dm&r1=1.43&r2=1.44
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/lib/ioctl/libdm-iface.c.diff?cvsroot=dm&r1=1.42&r2=1.43
--- device-mapper/WHATS_NEW 2007/06/19 15:47:20 1.188
+++ device-mapper/WHATS_NEW 2007/06/28 17:27:01 1.189
@@ -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
================================
--- device-mapper/include/log.h 2007/04/27 19:07:43 1.8
+++ device-mapper/include/log.h 2007/06/28 17:27:01 1.9
@@ -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 @@
#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)
--- device-mapper/lib/libdm-common.c 2007/01/22 15:03:57 1.43
+++ device-mapper/lib/libdm-common.c 2007/06/28 17:27:02 1.44
@@ -42,6 +42,9 @@
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 @@
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;
--- device-mapper/lib/ioctl/libdm-iface.c 2007/04/27 14:52:41 1.42
+++ device-mapper/lib/ioctl/libdm-iface.c 2007/06/28 17:27:02 1.43
@@ -592,9 +592,9 @@
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 @@
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 @@
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");
}
}
More information about the dm-devel
mailing list