Lines Matching refs:dumper

2732 int kmsg_dump_register(struct kmsg_dumper *dumper)  in kmsg_dump_register()  argument
2738 if (!dumper->dump) in kmsg_dump_register()
2743 if (!dumper->registered) { in kmsg_dump_register()
2744 dumper->registered = 1; in kmsg_dump_register()
2745 list_add_tail_rcu(&dumper->list, &dump_list); in kmsg_dump_register()
2761 int kmsg_dump_unregister(struct kmsg_dumper *dumper) in kmsg_dump_unregister() argument
2767 if (dumper->registered) { in kmsg_dump_unregister()
2768 dumper->registered = 0; in kmsg_dump_unregister()
2769 list_del_rcu(&dumper->list); in kmsg_dump_unregister()
2792 struct kmsg_dumper *dumper; in kmsg_dump() local
2799 list_for_each_entry_rcu(dumper, &dump_list, list) { in kmsg_dump()
2800 if (dumper->max_reason && reason > dumper->max_reason) in kmsg_dump()
2804 dumper->active = true; in kmsg_dump()
2807 dumper->cur_seq = clear_seq; in kmsg_dump()
2808 dumper->cur_idx = clear_idx; in kmsg_dump()
2809 dumper->next_seq = log_next_seq; in kmsg_dump()
2810 dumper->next_idx = log_next_idx; in kmsg_dump()
2814 dumper->dump(dumper, reason); in kmsg_dump()
2817 dumper->active = false; in kmsg_dump()
2841 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line_nolock() argument
2848 if (!dumper->active) in kmsg_dump_get_line_nolock()
2851 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_line_nolock()
2853 dumper->cur_seq = log_first_seq; in kmsg_dump_get_line_nolock()
2854 dumper->cur_idx = log_first_idx; in kmsg_dump_get_line_nolock()
2858 if (dumper->cur_seq >= log_next_seq) in kmsg_dump_get_line_nolock()
2861 msg = log_from_idx(dumper->cur_idx); in kmsg_dump_get_line_nolock()
2864 dumper->cur_idx = log_next(dumper->cur_idx); in kmsg_dump_get_line_nolock()
2865 dumper->cur_seq++; in kmsg_dump_get_line_nolock()
2890 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line() argument
2897 ret = kmsg_dump_get_line_nolock(dumper, syslog, line, size, len); in kmsg_dump_get_line()
2923 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_buffer() argument
2935 if (!dumper->active) in kmsg_dump_get_buffer()
2939 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_buffer()
2941 dumper->cur_seq = log_first_seq; in kmsg_dump_get_buffer()
2942 dumper->cur_idx = log_first_idx; in kmsg_dump_get_buffer()
2946 if (dumper->cur_seq >= dumper->next_seq) { in kmsg_dump_get_buffer()
2952 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
2953 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
2955 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
2965 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
2966 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
2968 while (l > size && seq < dumper->next_seq) { in kmsg_dump_get_buffer()
2982 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
2991 dumper->next_seq = next_seq; in kmsg_dump_get_buffer()
2992 dumper->next_idx = next_idx; in kmsg_dump_get_buffer()
3012 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) in kmsg_dump_rewind_nolock() argument
3014 dumper->cur_seq = clear_seq; in kmsg_dump_rewind_nolock()
3015 dumper->cur_idx = clear_idx; in kmsg_dump_rewind_nolock()
3016 dumper->next_seq = log_next_seq; in kmsg_dump_rewind_nolock()
3017 dumper->next_idx = log_next_idx; in kmsg_dump_rewind_nolock()
3028 void kmsg_dump_rewind(struct kmsg_dumper *dumper) in kmsg_dump_rewind() argument
3033 kmsg_dump_rewind_nolock(dumper); in kmsg_dump_rewind()