Commit 70d5032e authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] report size of printk buffer

From: <Andries.Brouwer@cwi.nl>

In the old days the printk log buffer had a constant size, and dmesg asked
for the 4096, later 8192, later 16384 bytes in there.  These days the
printk log buffer has variable size, and it is not easy for dmesg to do the
right thing, especially when doing a "read and clear".  The patch below
adds a syslog subfuntion that reports the buffer size.
parent bb241f20
...@@ -240,6 +240,7 @@ __setup("log_buf_len=", log_buf_len_setup); ...@@ -240,6 +240,7 @@ __setup("log_buf_len=", log_buf_len_setup);
* 7 -- Enable printk's to console * 7 -- Enable printk's to console
* 8 -- Set level of messages printed to console * 8 -- Set level of messages printed to console
* 9 -- Return number of unread characters in the log buffer * 9 -- Return number of unread characters in the log buffer
* 10 -- Return size of the log buffer
*/ */
int do_syslog(int type, char __user * buf, int len) int do_syslog(int type, char __user * buf, int len)
{ {
...@@ -359,6 +360,9 @@ int do_syslog(int type, char __user * buf, int len) ...@@ -359,6 +360,9 @@ int do_syslog(int type, char __user * buf, int len)
case 9: /* Number of chars in the log buffer */ case 9: /* Number of chars in the log buffer */
error = log_end - log_start; error = log_end - log_start;
break; break;
case 10: /* Size of the log buffer */
error = log_buf_len;
break;
default: default:
error = -EINVAL; error = -EINVAL;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment