Lines Matching refs:dumper

3126 int kmsg_dump_register(struct kmsg_dumper *dumper)  in kmsg_dump_register()  argument
3132 if (!dumper->dump) in kmsg_dump_register()
3137 if (!dumper->registered) { in kmsg_dump_register()
3138 dumper->registered = 1; in kmsg_dump_register()
3139 list_add_tail_rcu(&dumper->list, &dump_list); in kmsg_dump_register()
3155 int kmsg_dump_unregister(struct kmsg_dumper *dumper) in kmsg_dump_unregister() argument
3161 if (dumper->registered) { in kmsg_dump_unregister()
3162 dumper->registered = 0; in kmsg_dump_unregister()
3163 list_del_rcu(&dumper->list); in kmsg_dump_unregister()
3203 struct kmsg_dumper *dumper; in kmsg_dump() local
3207 list_for_each_entry_rcu(dumper, &dump_list, list) { in kmsg_dump()
3208 enum kmsg_dump_reason max_reason = dumper->max_reason; in kmsg_dump()
3222 dumper->active = true; in kmsg_dump()
3225 dumper->cur_seq = clear_seq; in kmsg_dump()
3226 dumper->next_seq = prb_next_seq(prb); in kmsg_dump()
3230 dumper->dump(dumper, reason); in kmsg_dump()
3233 dumper->active = false; in kmsg_dump()
3257 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line_nolock() argument
3268 if (!dumper->active) in kmsg_dump_get_line_nolock()
3273 if (!prb_read_valid(prb, dumper->cur_seq, &r)) in kmsg_dump_get_line_nolock()
3277 if (!prb_read_valid_info(prb, dumper->cur_seq, in kmsg_dump_get_line_nolock()
3286 dumper->cur_seq = r.info->seq + 1; in kmsg_dump_get_line_nolock()
3311 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line() argument
3318 ret = kmsg_dump_get_line_nolock(dumper, syslog, line, size, len); in kmsg_dump_get_line()
3344 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_buffer() argument
3359 if (!dumper->active || !buf || !size) in kmsg_dump_get_buffer()
3363 if (dumper->cur_seq < prb_first_valid_seq(prb)) { in kmsg_dump_get_buffer()
3365 dumper->cur_seq = prb_first_valid_seq(prb); in kmsg_dump_get_buffer()
3369 if (dumper->cur_seq >= dumper->next_seq) { in kmsg_dump_get_buffer()
3375 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3377 if (r.info->seq >= dumper->next_seq) in kmsg_dump_get_buffer()
3384 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3387 if (r.info->seq >= dumper->next_seq) in kmsg_dump_get_buffer()
3399 if (r.info->seq >= dumper->next_seq) in kmsg_dump_get_buffer()
3410 dumper->next_seq = next_seq; in kmsg_dump_get_buffer()
3430 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) in kmsg_dump_rewind_nolock() argument
3432 dumper->cur_seq = clear_seq; in kmsg_dump_rewind_nolock()
3433 dumper->next_seq = prb_next_seq(prb); in kmsg_dump_rewind_nolock()
3444 void kmsg_dump_rewind(struct kmsg_dumper *dumper) in kmsg_dump_rewind() argument
3449 kmsg_dump_rewind_nolock(dumper); in kmsg_dump_rewind()