1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 18:55:19 +03:00

Fix so only log_error and log_fatal set EUNCLASSIFIED.

This commit is contained in:
Alasdair Kergon 2009-07-16 13:13:33 +00:00
parent e0bd7c7645
commit c791c54e5b
2 changed files with 6 additions and 4 deletions

View File

@ -186,7 +186,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
if (dm_errno && !_lvm_errno)
_lvm_errno = dm_errno;
if (_lvm2_log_fn || (_store_errmsg && (level == _LOG_ERR))) {
if (_lvm2_log_fn || (_store_errmsg && (level <= _LOG_ERR))) {
va_start(ap, format);
n = vsnprintf(buf2, sizeof(buf2) - 1, trformat, ap);
va_end(ap);
@ -201,7 +201,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
message = &buf2[0];
}
if (_store_errmsg && (level == _LOG_ERR)) {
if (_store_errmsg && (level <= _LOG_ERR)) {
if (!_lvm_errmsg)
_lvm_errmsg = dm_strdup(message);
else if ((newbuf = dm_realloc(_lvm_errmsg,

View File

@ -43,6 +43,8 @@
#include <string.h> /* strerror() */
#include <errno.h>
#define EUNCLASSIFIED -1 /* Generic error code */
#define _LOG_STDERR 128 /* force things to go to stderr, even if loglevel
would make them go to stdout */
#define _LOG_DEBUG 7
@ -56,8 +58,8 @@
#define log_info(x...) LOG_LINE(_LOG_INFO, x)
#define log_notice(x...) LOG_LINE(_LOG_NOTICE, x)
#define log_warn(x...) LOG_LINE(_LOG_WARN | _LOG_STDERR, x)
#define log_err(x...) LOG_LINE(_LOG_ERR, x)
#define log_fatal(x...) LOG_LINE(_LOG_FATAL, x)
#define log_err(x...) LOG_LINE_WITH_ERRNO(_LOG_ERR, EUNCLASSIFIED, x)
#define log_fatal(x...) LOG_LINE_WITH_ERRNO(_LOG_FATAL, EUNCLASSIFIED, x)
#define stack log_debug("<backtrace>") /* Backtrace on error */
#define log_very_verbose(args...) log_info(args)