[lvm-devel] [PATCH] if syslog has been opened, do not open it again

dongmao zhang dmzhang at suse.com
Fri Jun 7 13:45:36 UTC 2013


if log/syslog in /etc/lvm/lvm.conf were set, clvmd log
would be like this:

Jun  8 04:22:42 linux-node02 clvmd[29044]: Cluster ready, doing some
more initialisation
Jun  8 04:22:42 linux-node02 clvmd[29044]: starting LVM thread
Jun  8 04:22:42 linux-node02 lvm[29044]: Sub thread ready for work.
Jun  8 04:22:42 linux-node02 lvm[29044]: LVM thread waiting for work

Having lvm[pid] and clvmd[pid] is confusing. This is because
the ident of syslog was overrided by create_toolcontext->init_syslog.

So if syslog was opened as 'clvmd', it should not be opened as 'lvm'
again. Just use the exsiting global flag _syslog(log.c) to prevent this
---
 lib/log/log.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/log/log.c b/lib/log/log.c
index 06e053f..b0f5061 100644
--- a/lib/log/log.c
+++ b/lib/log/log.c
@@ -82,8 +82,10 @@ void init_log_while_suspended(int log_while_suspended)
 
 void init_syslog(int facility)
 {
-	openlog("lvm", LOG_PID, facility);
-	_syslog = 1;
+	if (!_syslog) {
+		openlog("lvm", LOG_PID, facility);
+		_syslog = 1;
+	}
 }
 
 int log_suppress(int suppress)
@@ -353,6 +355,7 @@ void print_log(int level, const char *file, int line, int dm_errno_or_class,
 		return;
 	}
 
+
 	if (_log_to_file && (_log_while_suspended || !critical_section())) {
 		fprintf(_log_file, "%s:%d %s%s", file, line, log_command_name(),
 			_msg_prefix);
-- 
1.7.3.4




More information about the lvm-devel mailing list