[PATCH 2/3] dyndbg: in dynamic_emit_prefix, change inter-field separator

From: Jim Cromie
Date: Thu Jul 19 2012 - 15:47:33 EST


dynamic_emit_prefix() currently separates modname, funcname, lineno
with ':'. This is complicates use of cut -d: <logfile>, since the
field positions can change per callsite with dynamic-debug. So change
inter-field separator to '.' and keep the ':' prefix terminator.

This improves the situation, but doesnt solve it entirely; if
dyndbg==p is used, the callsite is enabled but no prefix is added, so
theres one less ':' in the message. Changing the terminator to ','
would fix this, and might be warranted.

pr_fmt(fmt) KBUILD_MODNAME ": " fmt, also adds another ':'.

Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
---
lib/dynamic_debug.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index 7ca29a0..6bc34aa 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -532,16 +532,18 @@ static char *dynamic_emit_prefix(const struct _ddebug *desc, char *buf)
}
pos_after_tid = pos;
if (desc->flags & _DPRINTK_FLAGS_INCL_MODNAME)
- pos += snprintf(buf + pos, remaining(pos), "%s:",
+ pos += snprintf(buf + pos, remaining(pos), "%s.",
desc->modname);
if (desc->flags & _DPRINTK_FLAGS_INCL_FUNCNAME)
- pos += snprintf(buf + pos, remaining(pos), "%s:",
+ pos += snprintf(buf + pos, remaining(pos), "%s.",
desc->function);
if (desc->flags & _DPRINTK_FLAGS_INCL_LINENO)
- pos += snprintf(buf + pos, remaining(pos), "%d:",
+ pos += snprintf(buf + pos, remaining(pos), "%d.",
desc->lineno);
- if (pos - pos_after_tid)
- pos += snprintf(buf + pos, remaining(pos), " ");
+ if (pos - pos_after_tid) {
+ pos--;
+ pos += snprintf(buf + pos, remaining(pos), ": ");
+ }
if (pos >= PREFIX_SIZE)
buf[PREFIX_SIZE - 1] = '\0';

--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/