[lkml]   [2014]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] printk: Fix discarding of records
On Mon, Feb 17, 2014 at 2:19 AM, Kay Sievers <> wrote:
> On Mon, Feb 17, 2014 at 1:57 AM, Linus Torvalds
> <> wrote:
>> On Sun, Feb 16, 2014 at 4:50 PM, Kay Sievers <> wrote:
>>> That should avoid the overflow, yes. I expect it will not print the
>>> first line with a prefix, which we probably should.?
>> Well, it's not printing out the prefix, but it's also not printing out
>> the whole first part of the line, so quite frankly, I think that's
>> actually "more correct".
>> After all, it has already skipped the beginning of the line.
>> Prepending the prefix, then skipping part of the line, and then
>> printing the last part, that sounds truly insane, no?
> Yeah, it depends on the idea of what a "line" is; being it a single
> printk() call or a reconstructed continuation line, which happens when
> printk calls could not be merged for some reason into a single record.
> But sure, your patch, it sounds fine to just skip the prefix.
> The syslog() dump interface never made any promises, and it is not
> used that much anymore today (even dmesg switched away from it since
> quite a while).
> For the dumpers, who might use that interface to "page" through the
> data, not printing the prefix sounds actually like the better option
> looking at the stream of pages they ask for.

Your patch seems to work fine here. We now start in the middle of a
cont *line*, with the next cont *record*; do not print the header, and
also do not print more than we should:

syslog(SYSLOG_ACTION_READ_ALL, "<6>[ 73.671533] ---\n<6>[
73.673677] ...", 1088) = 704
syslog(SYSLOG_ACTION_READ_ALL, "268---------...", 1089) = 1089
syslog(SYSLOG_ACTION_READ_ALL, "268---------... 1090) = 1089

The current code before the patch does this:

syslog(SYSLOG_ACTION_READ_ALL, "<4>[ 210.190007]
268---------26"..., 445) = 463


 \ /
  Last update: 2014-02-17 03:21    [W:2.247 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site