Lines Matching full:reader
63 /* set the log reader pos to current pos */
148 wait_queue_head_t wait_queue_head; /* wait queue head for reader */
166 bool r_all; /* whether this reader can read all entries */
176 struct tlogger_reader *reader = NULL; in get_reader_log() local
178 reader = file->private_data; in get_reader_log()
179 if (!reader) in get_reader_log()
182 return reader->log; in get_reader_log()
276 static ssize_t get_buffer_info(struct tlogger_reader *reader, in get_buffer_info() argument
283 log = reader->log; in get_buffer_info()
310 const struct tlogger_reader *reader, uint32_t *log_last_pos, uint32_t *is_read) in get_last_read_pos() argument
320 if (*log_last_pos == reader->r_off && in get_last_read_pos()
321 log_flag->write_loops == reader->r_loops) in get_last_read_pos()
331 if (reader->r_off > log_flag->max_len) { in get_last_read_pos()
333 reader->r_off, log_flag->max_len); in get_last_read_pos()
351 const struct tlogger_reader *reader) in proc_read_ret() argument
359 g_last_read_offset = reader->r_off; in proc_read_ret()
384 struct tlogger_reader *reader) in trigger_parse_log() argument
391 if (buffer_flag->write_loops == reader->r_loops) { in trigger_parse_log()
393 buffer_flag->max_len, reader->r_off, log_last_pos); in trigger_parse_log()
396 &reader->r_off, &user_buffer_left); in trigger_parse_log()
398 return proc_read_ret(buf_written, reader); in trigger_parse_log()
401 if (buffer_flag->write_loops > (reader->r_loops +1) || in trigger_parse_log()
402 ((buffer_flag->write_loops == (reader->r_loops + 1)) && in trigger_parse_log()
403 (reader->r_off < log_last_pos))) { in trigger_parse_log()
404 reader->r_off = log_last_pos; in trigger_parse_log()
405 reader->r_loops = buffer_flag->write_loops - 1; in trigger_parse_log()
409 buffer_flag->max_len, reader->r_off, buffer_flag->max_len); in trigger_parse_log()
412 &reader->r_off, &user_buffer_left); in trigger_parse_log()
420 &reader->r_off, &user_buffer_left); in trigger_parse_log()
422 reader->r_loops = buffer_flag->write_loops; in trigger_parse_log()
425 return proc_read_ret(buf_written, reader); in trigger_parse_log()
431 struct tlogger_reader *reader = NULL; in process_tlogger_read() local
444 reader = file->private_data; in process_tlogger_read()
445 if (!reader) in process_tlogger_read()
448 ret = get_buffer_info(reader, &buffer_flag, &log_buffer); in process_tlogger_read()
452 ret = get_last_read_pos(&buffer_flag, reader, &last_pos, &is_read); in process_tlogger_read()
456 return trigger_parse_log(buf, count, last_pos, log_buffer, reader); in process_tlogger_read()
495 struct tlogger_reader *reader = NULL; in process_tlogger_open() local
508 reader = kmalloc(sizeof(*reader), GFP_KERNEL); in process_tlogger_open()
509 if (ZERO_OR_NULL_PTR((unsigned long)(uintptr_t)reader)) in process_tlogger_open()
512 reader->log = log; in process_tlogger_open()
513 reader->r_all = true; in process_tlogger_open()
514 reader->r_off = 0; in process_tlogger_open()
515 reader->r_loops = 0; in process_tlogger_open()
516 reader->r_sn = 0; in process_tlogger_open()
517 reader->r_failtimes = 0; in process_tlogger_open()
518 reader->r_is_tlogf = 0; in process_tlogger_open()
519 reader ->r_from_cur = 0; in process_tlogger_open()
521 INIT_LIST_HEAD(&reader->list); in process_tlogger_open()
524 list_add_tail(&reader->list, &log->readers); in process_tlogger_open()
528 file->private_data = reader; in process_tlogger_open()
539 struct tlogger_reader *reader = NULL; in process_tlogger_release() local
549 reader = file->private_data; in process_tlogger_release()
550 if (!reader) { in process_tlogger_release()
551 tloge("reader is null\n"); in process_tlogger_release()
555 log = reader->log; in process_tlogger_release()
562 list_del(&reader->list); in process_tlogger_release()
567 tlogd("logger_release r_is_tlogf-%u\n", reader->r_is_tlogf); in process_tlogger_release()
569 if (reader->r_is_tlogf != 0) in process_tlogger_release()
572 kfree(reader); in process_tlogger_release()
580 struct tlogger_reader *reader = NULL; in process_tlogger_poll() local
591 reader = file->private_data; in process_tlogger_poll()
592 if (!reader) { in process_tlogger_poll()
597 log = reader->log; in process_tlogger_poll()
611 if (buffer->flag.last_pos != reader->r_off) in process_tlogger_poll()
620 struct tlogger_reader *reader = NULL; in set_reader_cur_pos() local
624 reader = file->private_data; in set_reader_cur_pos()
625 if (!reader) in set_reader_cur_pos()
628 log = reader->log; in set_reader_cur_pos()
636 reader->r_from_cur = SET_READ_POS; in set_reader_cur_pos()
637 reader->r_off = buffer->flag.last_pos; in set_reader_cur_pos()
638 reader->r_loops = buffer->flag.write_loops; in set_reader_cur_pos()
643 struct tlogger_reader *reader = NULL; in set_tlogcat_f_stat() local
648 reader = file->private_data; in set_tlogcat_f_stat()
649 if (!reader) in set_tlogcat_f_stat()
652 reader->r_is_tlogf = 1; in set_tlogcat_f_stat()