summaryrefslogtreecommitdiffstats
path: root/lib/log
diff options
context:
space:
mode:
Diffstat (limited to 'lib/log')
-rw-r--r--lib/log/log.c14
-rw-r--r--lib/log/log.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/log/log.c b/lib/log/log.c
index f32e56ea..e8806619 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -51,6 +51,7 @@ static int _already_logging = 0;
static int _mirror_in_sync = 0;
static int _dmeventd_monitor = DEFAULT_DMEVENTD_MONITOR;
static int _ignore_suspended_devices = 0;
+static int _error_message_produced = 0;
static lvm2_log_fn_t _lvm2_log_fn = NULL;
@@ -238,6 +239,16 @@ void init_indent(int indent)
_indent = indent;
}
+void init_error_message_produced(int error_message_produced)
+{
+ _error_message_produced = error_message_produced;
+}
+
+int error_message_produced(void)
+{
+ return _error_message_produced;
+}
+
int test_mode()
{
return _test;
@@ -322,6 +333,9 @@ void print_log(int level, const char *file, int line, const char *format, ...)
if (_log_suppress == 2)
return;
+ if (level <= _LOG_ERR)
+ _error_message_produced = 1;
+
trformat = _(format);
if (_lvm2_log_fn) {
diff --git a/lib/log/log.h b/lib/log/log.h
index d5e0664e..8b85758b 100644
--- a/lib/log/log.h
+++ b/lib/log/log.h
@@ -79,6 +79,7 @@ void init_security_level(int level);
void init_mirror_in_sync(int in_sync);
void init_dmeventd_monitor(int reg);
void init_ignore_suspended_devices(int ignore);
+void init_error_message_produced(int error_message_produced);
void set_cmd_name(const char *cmd_name);
@@ -94,6 +95,7 @@ int lockingfailed(void);
int security_level(void);
int mirror_in_sync(void);
int ignore_suspended_devices(void);
+int error_message_produced(void);
#define DMEVENTD_MONITOR_IGNORE -1
int dmeventd_monitor_mode(void);