printk: clean up handling of log-levels and newlines
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 16 Jun 2009 17:57:02 +0000 (10:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 16 Jun 2009 17:57:02 +0000 (10:57 -0700)
commit5fd29d6ccbc98884569d6f3105aeca70858b3e0f
tree93ac507debc6b35e5863116086c57170618099cf
parent03347e2592078a90df818670fddf97a33eec70fb
printk: clean up handling of log-levels and newlines

It used to be that we would only look at the log-level in a printk()
after explicit newlines, which can cause annoying problems when the
previous printk() did not end with a '\n'. In that case, the log-level
marker would be just printed out in the middle of the line, and be
seen as just noise rather than change the logging level.

This changes things to always look at the log-level in the first
bytes of the printout. If a log level marker is found, it is always
used as the log-level. Additionally, if no newline existed, one is
added (unless the log-level is the explicit KERN_CONT marker, to
explicitly show that it's a continuation of a previous line).

Acked-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/kernel.h
kernel/printk.c