Lines Matching refs:dumper

2976 int kmsg_dump_register(struct kmsg_dumper *dumper)  in kmsg_dump_register()  argument
2982 if (!dumper->dump) in kmsg_dump_register()
2987 if (!dumper->registered) { in kmsg_dump_register()
2988 dumper->registered = 1; in kmsg_dump_register()
2989 list_add_tail_rcu(&dumper->list, &dump_list); in kmsg_dump_register()
3005 int kmsg_dump_unregister(struct kmsg_dumper *dumper) in kmsg_dump_unregister() argument
3011 if (dumper->registered) { in kmsg_dump_unregister()
3012 dumper->registered = 0; in kmsg_dump_unregister()
3013 list_del_rcu(&dumper->list); in kmsg_dump_unregister()
3036 struct kmsg_dumper *dumper; in kmsg_dump() local
3043 list_for_each_entry_rcu(dumper, &dump_list, list) { in kmsg_dump()
3044 if (dumper->max_reason && reason > dumper->max_reason) in kmsg_dump()
3048 dumper->active = true; in kmsg_dump()
3051 dumper->cur_seq = clear_seq; in kmsg_dump()
3052 dumper->cur_idx = clear_idx; in kmsg_dump()
3053 dumper->next_seq = log_next_seq; in kmsg_dump()
3054 dumper->next_idx = log_next_idx; in kmsg_dump()
3058 dumper->dump(dumper, reason); in kmsg_dump()
3061 dumper->active = false; in kmsg_dump()
3085 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line_nolock() argument
3092 if (!dumper->active) in kmsg_dump_get_line_nolock()
3095 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_line_nolock()
3097 dumper->cur_seq = log_first_seq; in kmsg_dump_get_line_nolock()
3098 dumper->cur_idx = log_first_idx; in kmsg_dump_get_line_nolock()
3102 if (dumper->cur_seq >= log_next_seq) in kmsg_dump_get_line_nolock()
3105 msg = log_from_idx(dumper->cur_idx); in kmsg_dump_get_line_nolock()
3108 dumper->cur_idx = log_next(dumper->cur_idx); in kmsg_dump_get_line_nolock()
3109 dumper->cur_seq++; in kmsg_dump_get_line_nolock()
3134 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line() argument
3141 ret = kmsg_dump_get_line_nolock(dumper, syslog, line, size, len); in kmsg_dump_get_line()
3167 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_buffer() argument
3178 if (!dumper->active) in kmsg_dump_get_buffer()
3182 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_buffer()
3184 dumper->cur_seq = log_first_seq; in kmsg_dump_get_buffer()
3185 dumper->cur_idx = log_first_idx; in kmsg_dump_get_buffer()
3189 if (dumper->cur_seq >= dumper->next_seq) { in kmsg_dump_get_buffer()
3195 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3196 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
3197 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3206 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3207 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
3208 while (l > size && seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3221 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3229 dumper->next_seq = next_seq; in kmsg_dump_get_buffer()
3230 dumper->next_idx = next_idx; in kmsg_dump_get_buffer()
3250 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) in kmsg_dump_rewind_nolock() argument
3252 dumper->cur_seq = clear_seq; in kmsg_dump_rewind_nolock()
3253 dumper->cur_idx = clear_idx; in kmsg_dump_rewind_nolock()
3254 dumper->next_seq = log_next_seq; in kmsg_dump_rewind_nolock()
3255 dumper->next_idx = log_next_idx; in kmsg_dump_rewind_nolock()
3266 void kmsg_dump_rewind(struct kmsg_dumper *dumper) in kmsg_dump_rewind() argument
3271 kmsg_dump_rewind_nolock(dumper); in kmsg_dump_rewind()