public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2 doc/example.conf lib/commands/toolcontext ...
@ 2009-11-30 17:17 mornfall
0 siblings, 0 replies; only message in thread
From: mornfall @ 2009-11-30 17:17 UTC (permalink / raw)
To: lvm-devel, lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: mornfall@sourceware.org 2009-11-30 17:17:12
Modified files:
doc : example.conf
lib/commands : toolcontext.c
lib/config : defaults.h
lib/log : log.c lvm-logging.h
test : test-utils.sh
Log message:
Optionally abort on internal errors (and leverage this option in the
testsuite). (This is showing a problem in the pvmove test for me, so I expect
the tests to start failing -- this needs to be fixed separately though.)
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/doc/example.conf.diff?cvsroot=lvm2&r1=1.51&r2=1.52
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.88&r2=1.89
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/config/defaults.h.diff?cvsroot=lvm2&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/log/log.c.diff?cvsroot=lvm2&r1=1.52&r2=1.53
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/log/lvm-logging.h.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/test-utils.sh.diff?cvsroot=lvm2&r1=1.14&r2=1.15
--- LVM2/doc/example.conf 2009/10/05 12:44:21 1.51
+++ LVM2/doc/example.conf 2009/11/30 17:17:11 1.52
@@ -316,6 +316,10 @@
# The external locking library to load if locking_type is set to 2.
# locking_library = "liblvm2clusterlock.so"
+
+ # Treat any internal errors as fatal errors, aborting the process that
+ # encountered the internal error. Please only enable for debugging.
+ abort_on_internal_errors = 0
}
activation {
--- LVM2/lib/commands/toolcontext.c 2009/11/24 16:11:38 1.88
+++ LVM2/lib/commands/toolcontext.c 2009/11/30 17:17:11 1.89
@@ -147,7 +147,9 @@
/* Log message formatting */
init_indent(find_config_tree_int(cmd, "log/indent",
- DEFAULT_INDENT));
+ DEFAULT_INDENT));
+ init_abort_on_internal_errors(find_config_tree_int(cmd, "global/abort_on_internal_errors",
+ DEFAULT_ABORT_ON_INTERNAL_ERRORS));
cmd->default_settings.msg_prefix = find_config_tree_str(cmd,
"log/prefix",
--- LVM2/lib/config/defaults.h 2009/11/27 14:35:39 1.54
+++ LVM2/lib/config/defaults.h 2009/11/30 17:17:12 1.55
@@ -85,6 +85,7 @@
#define DEFAULT_VERBOSE 0
#define DEFAULT_LOGLEVEL 0
#define DEFAULT_INDENT 1
+#define DEFAULT_ABORT_ON_INTERNAL_ERRORS 0
#define DEFAULT_UNITS "h"
#define DEFAULT_SUFFIX 1
#define DEFAULT_HOSTTAGS 0
--- LVM2/lib/log/log.c 2009/07/16 13:13:33 1.52
+++ LVM2/lib/log/log.c 2009/11/30 17:17:12 1.53
@@ -19,6 +19,7 @@
#include "lvm-string.h"
#include "lvm-file.h"
#include "defaults.h"
+#include "config.h"
#include <stdarg.h>
#include <syslog.h>
@@ -35,6 +36,7 @@
static int _log_suppress = 0;
static char _msg_prefix[30] = " ";
static int _already_logging = 0;
+static int _abort_on_internal_errors = 0;
static lvm2_log_fn_t _lvm2_log_fn = NULL;
@@ -140,6 +142,11 @@
_indent = indent;
}
+void init_abort_on_internal_errors(int fatal)
+{
+ _abort_on_internal_errors = fatal;
+}
+
void reset_lvm_errno(int store_errmsg)
{
_lvm_errno = 0;
@@ -172,9 +179,14 @@
const char *trformat; /* Translated format string */
char *newbuf;
int use_stderr = level & _LOG_STDERR;
+ int internal_error = 0;
level &= ~_LOG_STDERR;
+ if (!strncmp(format, "Internal error:",
+ strlen("Internal error:")))
+ internal_error = 1;
+
if (_log_suppress == 2)
return;
@@ -291,6 +303,9 @@
va_end(ap);
}
+ if (internal_error && _abort_on_internal_errors)
+ abort();
+
if (level > debug_level())
return;
--- LVM2/lib/log/lvm-logging.h 2009/07/16 03:07:45 1.7
+++ LVM2/lib/log/lvm-logging.h 2009/11/30 17:17:12 1.8
@@ -39,6 +39,7 @@
void init_log_file(const char *log_file, int append);
void init_log_direct(const char *log_file, int append);
void init_log_while_suspended(int log_while_suspended);
+void init_abort_on_internal_errors(int fatal);
void fin_log(void);
void release_log_memory(void);
--- LVM2/test/test-utils.sh 2009/08/02 21:45:45 1.14
+++ LVM2/test/test-utils.sh 2009/11/30 17:17:12 1.15
@@ -199,8 +199,9 @@
archive = 0
}
global {
+ abort_on_internal_errors = 1
library_dir = "$G_root_/lib"
- locking_dir = "$G_root_/var/lock/lvm"
+ locking_dir = "$G_root_/var/lock/lvm"
}
EOF
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-11-30 17:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-30 17:17 LVM2 doc/example.conf lib/commands/toolcontext mornfall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).