diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2014-10-29 22:26:09 +0300 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-11-20 06:01:17 +0300 |
commit | 8cd709ae7658a7fd7f6630699e3229188c2591e4 (patch) | |
tree | 1e743b588fb5dbb2acde70760985c9ce65c0609f /include/linux/seq_buf.h | |
parent | 9b77215382b42ef9c5b34293ad3a95332e5b71ef (diff) | |
download | linux-8cd709ae7658a7fd7f6630699e3229188c2591e4.tar.xz |
tracing: Have seq_buf use full buffer
Currently seq_buf is full when all but one byte of the buffer is
filled. Change it so that the seq_buf is full when all of the
buffer is filled.
Some of the functions would fill the buffer completely and report
everything was fine. This was inconsistent with the max of size - 1.
Changing this to be max of size makes all functions consistent.
Link: http://lkml.kernel.org/r/20141104160222.502133196@goodmis.org
Link: http://lkml.kernel.org/r/20141114011412.811957882@goodmis.org
Tested-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/seq_buf.h')
-rw-r--r-- | include/linux/seq_buf.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/seq_buf.h b/include/linux/seq_buf.h index 93718e570d4c..0800a24b4348 100644 --- a/include/linux/seq_buf.h +++ b/include/linux/seq_buf.h @@ -43,13 +43,13 @@ seq_buf_init(struct seq_buf *s, unsigned char *buf, unsigned int size) static inline bool seq_buf_has_overflowed(struct seq_buf *s) { - return s->len == s->size; + return s->len > s->size; } static inline void seq_buf_set_overflow(struct seq_buf *s) { - s->len = s->size; + s->len = s->size + 1; } /* @@ -61,7 +61,7 @@ seq_buf_buffer_left(struct seq_buf *s) if (seq_buf_has_overflowed(s)) return 0; - return (s->size - 1) - s->len; + return s->size - s->len; } /* How much buffer was written? */ |