Lines Matching refs:dumper

3054 int kmsg_dump_register(struct kmsg_dumper *dumper)  in kmsg_dump_register()  argument
3060 if (!dumper->dump) in kmsg_dump_register()
3065 if (!dumper->registered) { in kmsg_dump_register()
3066 dumper->registered = 1; in kmsg_dump_register()
3067 list_add_tail_rcu(&dumper->list, &dump_list); in kmsg_dump_register()
3083 int kmsg_dump_unregister(struct kmsg_dumper *dumper) in kmsg_dump_unregister() argument
3089 if (dumper->registered) { in kmsg_dump_unregister()
3090 dumper->registered = 0; in kmsg_dump_unregister()
3091 list_del_rcu(&dumper->list); in kmsg_dump_unregister()
3114 struct kmsg_dumper *dumper; in kmsg_dump() local
3121 list_for_each_entry_rcu(dumper, &dump_list, list) { in kmsg_dump()
3122 if (dumper->max_reason && reason > dumper->max_reason) in kmsg_dump()
3126 dumper->active = true; in kmsg_dump()
3129 dumper->cur_seq = clear_seq; in kmsg_dump()
3130 dumper->cur_idx = clear_idx; in kmsg_dump()
3131 dumper->next_seq = log_next_seq; in kmsg_dump()
3132 dumper->next_idx = log_next_idx; in kmsg_dump()
3136 dumper->dump(dumper, reason); in kmsg_dump()
3139 dumper->active = false; in kmsg_dump()
3163 bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line_nolock() argument
3170 if (!dumper->active) in kmsg_dump_get_line_nolock()
3173 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_line_nolock()
3175 dumper->cur_seq = log_first_seq; in kmsg_dump_get_line_nolock()
3176 dumper->cur_idx = log_first_idx; in kmsg_dump_get_line_nolock()
3180 if (dumper->cur_seq >= log_next_seq) in kmsg_dump_get_line_nolock()
3183 msg = log_from_idx(dumper->cur_idx); in kmsg_dump_get_line_nolock()
3186 dumper->cur_idx = log_next(dumper->cur_idx); in kmsg_dump_get_line_nolock()
3187 dumper->cur_seq++; in kmsg_dump_get_line_nolock()
3212 bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_line() argument
3219 ret = kmsg_dump_get_line_nolock(dumper, syslog, line, size, len); in kmsg_dump_get_line()
3245 bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, in kmsg_dump_get_buffer() argument
3257 if (!dumper->active) in kmsg_dump_get_buffer()
3261 if (dumper->cur_seq < log_first_seq) { in kmsg_dump_get_buffer()
3263 dumper->cur_seq = log_first_seq; in kmsg_dump_get_buffer()
3264 dumper->cur_idx = log_first_idx; in kmsg_dump_get_buffer()
3268 if (dumper->cur_seq >= dumper->next_seq) { in kmsg_dump_get_buffer()
3274 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3275 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
3276 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3285 seq = dumper->cur_seq; in kmsg_dump_get_buffer()
3286 idx = dumper->cur_idx; in kmsg_dump_get_buffer()
3287 while (l >= size && seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3300 while (seq < dumper->next_seq) { in kmsg_dump_get_buffer()
3308 dumper->next_seq = next_seq; in kmsg_dump_get_buffer()
3309 dumper->next_idx = next_idx; in kmsg_dump_get_buffer()
3329 void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper) in kmsg_dump_rewind_nolock() argument
3331 dumper->cur_seq = clear_seq; in kmsg_dump_rewind_nolock()
3332 dumper->cur_idx = clear_idx; in kmsg_dump_rewind_nolock()
3333 dumper->next_seq = log_next_seq; in kmsg_dump_rewind_nolock()
3334 dumper->next_idx = log_next_idx; in kmsg_dump_rewind_nolock()
3345 void kmsg_dump_rewind(struct kmsg_dumper *dumper) in kmsg_dump_rewind() argument
3350 kmsg_dump_rewind_nolock(dumper); in kmsg_dump_rewind()