mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Use _LOG_FATAL when aborting on an internal error.
This commit is contained in:
parent
e995e713f9
commit
e55df6fee5
@ -179,16 +179,20 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
const char *trformat; /* Translated format string */
|
||||
char *newbuf;
|
||||
int use_stderr = level & _LOG_STDERR;
|
||||
int internal_error = 0;
|
||||
int fatal_internal_error = 0;
|
||||
|
||||
level &= ~_LOG_STDERR;
|
||||
|
||||
if (_abort_on_internal_errors &&
|
||||
!strncmp(format, INTERNAL_ERROR,
|
||||
strlen(INTERNAL_ERROR)))
|
||||
internal_error = 1;
|
||||
else if (_log_suppress == 2)
|
||||
strlen(INTERNAL_ERROR))) {
|
||||
fatal_internal_error = 1;
|
||||
/* Internal errors triggering abort cannot be suppressed. */
|
||||
_log_suppress = 0;
|
||||
level = _LOG_FATAL;
|
||||
}
|
||||
|
||||
if (_log_suppress == 2)
|
||||
return;
|
||||
|
||||
if (level <= _LOG_ERR)
|
||||
@ -245,7 +249,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
if (!strcmp("<backtrace>", format) &&
|
||||
verbose_level() <= _LOG_DEBUG)
|
||||
break;
|
||||
if (internal_error || verbose_level() >= _LOG_DEBUG) {
|
||||
if (verbose_level() >= _LOG_DEBUG) {
|
||||
fprintf(stderr, "%s%s%s", locn, log_command_name(),
|
||||
_msg_prefix);
|
||||
if (_indent)
|
||||
@ -256,7 +260,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
break;
|
||||
|
||||
case _LOG_INFO:
|
||||
if (internal_error || verbose_level() >= _LOG_INFO) {
|
||||
if (verbose_level() >= _LOG_INFO) {
|
||||
fprintf(stderr, "%s%s%s", locn, log_command_name(),
|
||||
_msg_prefix);
|
||||
if (_indent)
|
||||
@ -266,7 +270,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
}
|
||||
break;
|
||||
case _LOG_NOTICE:
|
||||
if (internal_error || verbose_level() >= _LOG_NOTICE) {
|
||||
if (verbose_level() >= _LOG_NOTICE) {
|
||||
fprintf(stderr, "%s%s%s", locn, log_command_name(),
|
||||
_msg_prefix);
|
||||
if (_indent)
|
||||
@ -276,7 +280,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
}
|
||||
break;
|
||||
case _LOG_WARN:
|
||||
if (internal_error || verbose_level() >= _LOG_WARN) {
|
||||
if (verbose_level() >= _LOG_WARN) {
|
||||
fprintf(use_stderr ? stderr : stdout, "%s%s",
|
||||
log_command_name(), _msg_prefix);
|
||||
vfprintf(use_stderr ? stderr : stdout, trformat, ap);
|
||||
@ -284,7 +288,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
}
|
||||
break;
|
||||
case _LOG_ERR:
|
||||
if (internal_error || verbose_level() >= _LOG_ERR) {
|
||||
if (verbose_level() >= _LOG_ERR) {
|
||||
fprintf(stderr, "%s%s%s", locn, log_command_name(),
|
||||
_msg_prefix);
|
||||
vfprintf(stderr, trformat, ap);
|
||||
@ -293,7 +297,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
break;
|
||||
case _LOG_FATAL:
|
||||
default:
|
||||
if (internal_error || verbose_level() >= _LOG_FATAL) {
|
||||
if (verbose_level() >= _LOG_FATAL) {
|
||||
fprintf(stderr, "%s%s%s", locn, log_command_name(),
|
||||
_msg_prefix);
|
||||
vfprintf(stderr, trformat, ap);
|
||||
@ -304,7 +308,7 @@ void print_log(int level, const char *file, int line, int dm_errno,
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
if (internal_error)
|
||||
if (fatal_internal_error)
|
||||
abort();
|
||||
|
||||
if (level > debug_level())
|
||||
|
Loading…
Reference in New Issue
Block a user