summaryrefslogtreecommitdiffstats
path: root/daemons/dmeventd/plugins
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2010-05-14 14:56:39 +0000
committerAlasdair Kergon <agk@redhat.com>2010-05-14 14:56:39 +0000
commitbdadde2f7a3a6f47747b22a9db008ced666407a8 (patch)
tree189991c2e50a0b24890973432f6471637b447ee4 /daemons/dmeventd/plugins
parente2d136477b293dc857749ffad12bf8c9ee17903e (diff)
downloadlvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.tar.gz
lvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.tar.xz
lvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.zip
Use -d to control level of messages sent to syslog by dmeventd.
Change -d to -f to run dmeventd in foreground. (mornfall)
Diffstat (limited to 'daemons/dmeventd/plugins')
-rw-r--r--daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c41
-rw-r--r--daemons/dmeventd/plugins/mirror/dmeventd_mirror.c3
2 files changed, 35 insertions, 9 deletions
diff --git a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c
index bff60b48..bc72d539 100644
--- a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c
+++ b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c
@@ -13,6 +13,7 @@
*/
#include "lib.h"
+#include "log.h"
#include "lvm2cmd.h"
#include "errors.h"
@@ -22,6 +23,8 @@
#include <pthread.h>
#include <syslog.h>
+extern int dmeventd_debug;
+
/*
* register_device() is called first and performs initialisation.
* Only one device may be registered or unregistered at a time.
@@ -40,19 +43,41 @@ static void *_lvm_handle = NULL;
*/
static pthread_mutex_t _event_mutex = PTHREAD_MUTEX_INITIALIZER;
-/* FIXME Remove this: Pass messages back to dmeventd core for processing. */
+/*
+ * FIXME Do not pass things directly to syslog, rather use the existing logging
+ * facilities to sort logging ... however that mechanism needs to be somehow
+ * configurable and we don't have that option yet
+ */
static void _temporary_log_fn(int level,
const char *file __attribute((unused)),
int line __attribute((unused)),
int dm_errno __attribute((unused)),
- const char *format)
+ const char *message)
{
- level &= ~_LOG_STDERR;
-
- if (!strncmp(format, "WARNING: ", 9) && (level < 5))
- syslog(LOG_CRIT, "%s", format);
- else
- syslog(LOG_DEBUG, "%s", format);
+ level &= ~(_LOG_STDERR | _LOG_ONCE);
+
+ switch (level) {
+ case _LOG_DEBUG:
+ if (dmeventd_debug >= 3)
+ syslog(LOG_DEBUG, "%s", message);
+ break;
+ case _LOG_INFO:
+ if (dmeventd_debug >= 2)
+ syslog(LOG_INFO, "%s", message);
+ break;
+ case _LOG_NOTICE:
+ if (dmeventd_debug >= 1)
+ syslog(LOG_NOTICE, "%s", message);
+ break;
+ case _LOG_WARN:
+ syslog(LOG_WARNING, "%s", message);
+ break;
+ case _LOG_ERR:
+ syslog(LOG_ERR, "%s", message);
+ break;
+ default:
+ syslog(LOG_CRIT, "%s", message);
+ }
}
void dmeventd_lvm2_lock(void)
diff --git a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
index 788f9f5a..0e24dca0 100644
--- a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
+++ b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c
@@ -160,7 +160,8 @@ static int _remove_failed_devices(const char *device)
r = dmeventd_lvm2_run(cmd_str);
- syslog(LOG_INFO, "Repair of mirrored LV %s/%s %s.", vg, lv, (r == ECMD_PROCESSED) ? "finished successfully" : "failed");
+ syslog(LOG_INFO, "Repair of mirrored LV %s/%s %s.", vg, lv,
+ (r == ECMD_PROCESSED) ? "finished successfully" : "failed");
return (r == ECMD_PROCESSED) ? 0 : -1;
}