[CRIU] [PATCH] log: Don't show time stamp on pr_msg

Cyrill Gorcunov gorcunov at openvz.org
Tue Nov 6 02:24:25 EST 2012


In case if the pr_err happens before pr_msg,
the string buffer will have dangling timestamp
prefix. Skip it here.

Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
 log.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/log.c b/log.c
index 9629897..8e17f86 100644
--- a/log.c
+++ b/log.c
@@ -179,25 +179,28 @@ void print_on_level(unsigned int loglevel, const char *format, ...)
 {
 	va_list params;
 	int fd, size, ret, off;
+	char *where;
 
 	if (unlikely(loglevel == LOG_MSG)) {
 		fd = STDOUT_FILENO;
+		where = buffer + buf_off;
+		size = 0;
 	} else {
 		if (loglevel > current_loglevel)
 			return;
 		fd = current_logfd;
 		print_ts();
+		where = buffer;
+		size = buf_off;
 	}
 
 	va_start(params, format);
-	size = vsnprintf(buffer + buf_off, PAGE_SIZE - buf_off, format, params);
+	size += vsnprintf(buffer + buf_off, PAGE_SIZE - buf_off, format, params);
 	va_end(params);
 
-	size += buf_off;
-
 	off = 0;
 	while (off < size) {
-		ret = write(fd, buffer + off, size - off);
+		ret = write(fd, where + off, size - off);
 		if (ret <= 0)
 			break;
 		off += ret;
-- 
1.7.7.6



More information about the CRIU mailing list