mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
tracing: Add trace_seq_has_overflowed() and trace_handle_return()
Adding a trace_seq_has_overflowed() which returns true if the trace_seq had too much written into it allows us to simplify the code. Instead of checking the return value of every call to trace_seq_printf() and friends, they can all be called normally, and at the end we can return !trace_seq_has_overflowed() instead. Several functions also return TRACE_TYPE_PARTIAL_LINE when the trace_seq overflowed and TRACE_TYPE_HANDLED otherwise. Another helper function was created called trace_handle_return() which takes a trace_seq and returns these enums. Using this helper function also simplifies the code. This change also makes it possible to remove the return values of trace_seq_printf() and friends. They should instead just be void functions. Link: http://lkml.kernel.org/r/20141114011410.365183157@goodmis.org Reviewed-by: Petr Mladek <pmladek@suse.cz> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
e400a40cff
commit
19a7fe2062
7 changed files with 228 additions and 297 deletions
|
@ -40,6 +40,18 @@ trace_seq_buffer_ptr(struct trace_seq *s)
|
|||
return s->buffer + s->len;
|
||||
}
|
||||
|
||||
/**
|
||||
* trace_seq_has_overflowed - return true if the trace_seq took too much
|
||||
* @s: trace sequence descriptor
|
||||
*
|
||||
* Returns true if too much data was added to the trace_seq and it is
|
||||
* now full and will not take anymore.
|
||||
*/
|
||||
static inline bool trace_seq_has_overflowed(struct trace_seq *s)
|
||||
{
|
||||
return s->full || s->len > PAGE_SIZE - 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Currently only defined when tracing is enabled.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue