mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
Use -d to control level of messages sent to syslog by dmeventd.
Change -d to -f to run dmeventd in foreground. (mornfall)
This commit is contained in:
parent
e2d136477b
commit
bdadde2f7a
@ -1,5 +1,7 @@
|
|||||||
Version 1.02.48 -
|
Version 1.02.48 -
|
||||||
=================================
|
=================================
|
||||||
|
Use -d to control level of messages sent to syslog by dmeventd.
|
||||||
|
Change -d to -f to run dmeventd in foreground.
|
||||||
Do not print encryption key in message debug output (cryptsetup luksResume).
|
Do not print encryption key in message debug output (cryptsetup luksResume).
|
||||||
|
|
||||||
Version 1.02.47 - 30th April 2010
|
Version 1.02.47 - 30th April 2010
|
||||||
|
@ -54,7 +54,6 @@
|
|||||||
|
|
||||||
static volatile sig_atomic_t _exit_now = 0; /* set to '1' when signal is given to exit */
|
static volatile sig_atomic_t _exit_now = 0; /* set to '1' when signal is given to exit */
|
||||||
static volatile sig_atomic_t _thread_registries_empty = 1; /* registries are empty initially */
|
static volatile sig_atomic_t _thread_registries_empty = 1; /* registries are empty initially */
|
||||||
static int _debug = 0;
|
|
||||||
|
|
||||||
/* List (un)link macros. */
|
/* List (un)link macros. */
|
||||||
#define LINK(x, head) dm_list_add(head, &(x)->list)
|
#define LINK(x, head) dm_list_add(head, &(x)->list)
|
||||||
@ -98,6 +97,9 @@ static pthread_mutex_t _global_mutex;
|
|||||||
|
|
||||||
#define DEBUGLOG(fmt, args...) _debuglog(fmt, ## args)
|
#define DEBUGLOG(fmt, args...) _debuglog(fmt, ## args)
|
||||||
|
|
||||||
|
int dmeventd_debug = 0;
|
||||||
|
static int _foreground = 0;
|
||||||
|
|
||||||
/* Data kept about a DSO. */
|
/* Data kept about a DSO. */
|
||||||
struct dso_data {
|
struct dso_data {
|
||||||
struct dm_list list;
|
struct dm_list list;
|
||||||
@ -204,7 +206,7 @@ static void _debuglog(const char *fmt, ...)
|
|||||||
time_t P;
|
time_t P;
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
if (!_debug)
|
if (!_foreground)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
va_start(ap,fmt);
|
va_start(ap,fmt);
|
||||||
@ -1662,11 +1664,12 @@ static void _daemonize(void)
|
|||||||
static void usage(char *prog, FILE *file)
|
static void usage(char *prog, FILE *file)
|
||||||
{
|
{
|
||||||
fprintf(file, "Usage:\n");
|
fprintf(file, "Usage:\n");
|
||||||
fprintf(file, "%s [Vhd]\n", prog);
|
fprintf(file, "%s [-V] [-h] [-d] [-d] [-d] [-f]\n", prog);
|
||||||
fprintf(file, "\n");
|
fprintf(file, "\n");
|
||||||
fprintf(file, " -V Show version of dmeventd\n");
|
fprintf(file, " -V Show version of dmeventd\n");
|
||||||
fprintf(file, " -h Show this help information\n");
|
fprintf(file, " -h Show this help information\n");
|
||||||
fprintf(file, " -d Don't fork, run in the foreground\n");
|
fprintf(file, " -d Log debug messages to syslog (-d, -dd, -ddd)\n");
|
||||||
|
fprintf(file, " -f Don't fork, run in the foreground\n");
|
||||||
fprintf(file, "\n");
|
fprintf(file, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1680,7 +1683,7 @@ int main(int argc, char *argv[])
|
|||||||
opterr = 0;
|
opterr = 0;
|
||||||
optind = 0;
|
optind = 0;
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "?hVd")) != EOF) {
|
while ((opt = getopt(argc, argv, "?fhVd")) != EOF) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'h':
|
case 'h':
|
||||||
usage(argv[0], stdout);
|
usage(argv[0], stdout);
|
||||||
@ -1688,8 +1691,11 @@ int main(int argc, char *argv[])
|
|||||||
case '?':
|
case '?':
|
||||||
usage(argv[0], stderr);
|
usage(argv[0], stderr);
|
||||||
exit(0);
|
exit(0);
|
||||||
|
case 'f':
|
||||||
|
_foreground++;
|
||||||
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
_debug++;
|
dmeventd_debug++;
|
||||||
break;
|
break;
|
||||||
case 'V':
|
case 'V':
|
||||||
printf("dmeventd version: %s\n", DM_LIB_VERSION);
|
printf("dmeventd version: %s\n", DM_LIB_VERSION);
|
||||||
@ -1706,7 +1712,7 @@ int main(int argc, char *argv[])
|
|||||||
if (setenv("LANG", "C", 1))
|
if (setenv("LANG", "C", 1))
|
||||||
perror("Cannot set LANG to C");
|
perror("Cannot set LANG to C");
|
||||||
|
|
||||||
if (!_debug)
|
if (!_foreground)
|
||||||
_daemonize();
|
_daemonize();
|
||||||
|
|
||||||
openlog("dmeventd", LOG_PID, LOG_DAEMON);
|
openlog("dmeventd", LOG_PID, LOG_DAEMON);
|
||||||
@ -1738,7 +1744,7 @@ int main(int argc, char *argv[])
|
|||||||
exit(EXIT_FIFO_FAILURE);
|
exit(EXIT_FIFO_FAILURE);
|
||||||
|
|
||||||
/* Signal parent, letting them know we are ready to go. */
|
/* Signal parent, letting them know we are ready to go. */
|
||||||
if (!_debug)
|
if (!_foreground)
|
||||||
kill(getppid(), SIGTERM);
|
kill(getppid(), SIGTERM);
|
||||||
syslog(LOG_NOTICE, "dmeventd ready for processing.");
|
syslog(LOG_NOTICE, "dmeventd ready for processing.");
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "lib.h"
|
#include "lib.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
#include "lvm2cmd.h"
|
#include "lvm2cmd.h"
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
@ -22,6 +23,8 @@
|
|||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
|
||||||
|
extern int dmeventd_debug;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* register_device() is called first and performs initialisation.
|
* register_device() is called first and performs initialisation.
|
||||||
* Only one device may be registered or unregistered at a time.
|
* 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;
|
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,
|
static void _temporary_log_fn(int level,
|
||||||
const char *file __attribute((unused)),
|
const char *file __attribute((unused)),
|
||||||
int line __attribute((unused)),
|
int line __attribute((unused)),
|
||||||
int dm_errno __attribute((unused)),
|
int dm_errno __attribute((unused)),
|
||||||
const char *format)
|
const char *message)
|
||||||
{
|
{
|
||||||
level &= ~_LOG_STDERR;
|
level &= ~(_LOG_STDERR | _LOG_ONCE);
|
||||||
|
|
||||||
if (!strncmp(format, "WARNING: ", 9) && (level < 5))
|
switch (level) {
|
||||||
syslog(LOG_CRIT, "%s", format);
|
case _LOG_DEBUG:
|
||||||
else
|
if (dmeventd_debug >= 3)
|
||||||
syslog(LOG_DEBUG, "%s", format);
|
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)
|
void dmeventd_lvm2_lock(void)
|
||||||
|
@ -160,7 +160,8 @@ static int _remove_failed_devices(const char *device)
|
|||||||
|
|
||||||
r = dmeventd_lvm2_run(cmd_str);
|
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;
|
return (r == ECMD_PROCESSED) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
@ -87,9 +87,8 @@ prepare_dmeventd() {
|
|||||||
|
|
||||||
trap_teardown
|
trap_teardown
|
||||||
|
|
||||||
dmeventd -d &
|
dmeventd -f &
|
||||||
LOCAL_DMEVENTD="$!"
|
LOCAL_DMEVENTD="$!"
|
||||||
strace -p $LOCAL_DMEVENTD &
|
|
||||||
}
|
}
|
||||||
|
|
||||||
prepare_testroot() {
|
prepare_testroot() {
|
||||||
|
Loading…
Reference in New Issue
Block a user