Motr  M0
log.c File Reference
#include "lib/trace.h"
#include "be/log.h"
#include "be/fmt.h"
#include "be/op.h"
#include "be/ha.h"
#include "lib/arith.h"
#include "lib/errno.h"
#include "lib/memory.h"
#include "lib/tlist.h"
#include "lib/ext.h"
#include "motr/magic.h"
#include "module/instance.h"
Include dependency graph for log.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE
 

Enumerations

enum  {
  LGR_NEW = 1, LGR_USED, LGR_SCHEDULED, LGR_DONE,
  LGR_DISCARDED, LGR_FINI
}
 

Functions

static void be_log_header_update (struct m0_be_log *log)
 
static int be_log_header_write (struct m0_be_log *log, struct m0_be_fmt_log_header *log_hdr)
 
 M0_TL_DESCR_DEFINE (record, "be log records", static, struct m0_be_log_record, lgr_linkage, lgr_magic, M0_BE_LOG_RECORD_MAGIC, M0_BE_LOG_RECORD_HEAD_MAGIC)
 
 M0_TL_DEFINE (record, static, struct m0_be_log_record)
 
static struct m0_be_logbe_log_module2log (struct m0_module *module)
 
static int be_log_level_enter (struct m0_module *module)
 
static void be_log_level_leave (struct m0_module *module)
 
M0_INTERNAL void m0_be_log_module_setup (struct m0_be_log *log, struct m0_be_log_cfg *lg_cfg, bool create_mode)
 
static void be_log_module_fini (struct m0_be_log *log, bool destroy_mode)
 
static int be_log_module_init (struct m0_be_log *log, struct m0_be_log_cfg *log_cfg, bool create_mode)
 
M0_INTERNAL bool m0_be_log__invariant (struct m0_be_log *log)
 
M0_INTERNAL int m0_be_log_open (struct m0_be_log *log, struct m0_be_log_cfg *log_cfg)
 
M0_INTERNAL void m0_be_log_close (struct m0_be_log *log)
 
M0_INTERNAL int m0_be_log_create (struct m0_be_log *log, struct m0_be_log_cfg *log_cfg)
 
M0_INTERNAL void m0_be_log_destroy (struct m0_be_log *log)
 
static void be_log_header_io (struct m0_be_log *log, enum m0_be_log_store_io_type io_type, struct m0_be_op *op)
 
static void be_log_header_io_sync (struct m0_be_log *log, enum m0_be_log_store_io_type io_type)
 
static m0_bcount_t be_log_record_header_size (void)
 
static m0_bcount_t be_log_record_footer_size (void)
 
M0_INTERNAL m0_bcount_t m0_be_log_reserved_size (struct m0_be_log *log, m0_bcount_t *lio_size, int lio_nr)
 
static void be_log_record_io_done_cb (struct m0_be_op *op, void *param)
 
M0_INTERNAL void m0_be_log_record_init (struct m0_be_log_record *record, struct m0_be_log *log)
 
M0_INTERNAL void m0_be_log_record_fini (struct m0_be_log_record *record)
 
M0_INTERNAL void m0_be_log_record_reset (struct m0_be_log_record *record)
 
M0_INTERNAL void m0_be_log_record_assign (struct m0_be_log_record *record, struct m0_be_log_record_iter *iter, bool need_discard)
 
M0_INTERNAL void m0_be_log_record_ext (struct m0_be_log_record *record, struct m0_ext *ext)
 
M0_INTERNAL void m0_be_log_record_skip_discard (struct m0_be_log_record *record)
 
M0_INTERNAL void m0_be_log_record_discard (struct m0_be_log *log, m0_bcount_t size)
 
static void be_log_io_credit (struct m0_be_log *log, struct m0_be_io_credit *accum)
 
M0_INTERNAL int m0_be_log_record_io_create (struct m0_be_log_record *record, m0_bcount_t size_max)
 
static int be_log_record_header_init (struct m0_be_fmt_log_record_header *hdr)
 
M0_INTERNAL int m0_be_log_record_allocate (struct m0_be_log_record *record)
 
M0_INTERNAL void m0_be_log_record_deallocate (struct m0_be_log_record *record)
 
M0_INTERNAL void m0_be_log_record_io_size_set (struct m0_be_log_record *record, int index, m0_bcount_t size)
 
M0_INTERNAL void m0_be_log_record_io_prepare (struct m0_be_log_record *record, enum m0_stob_io_opcode opcode, m0_bcount_t size_reserved)
 
M0_INTERNAL void m0_be_log_record_io_launch (struct m0_be_log_record *record, struct m0_be_op *op)
 
M0_INTERNAL struct m0_bufvecm0_be_log_record_io_bufvec (struct m0_be_log_record *record, int index)
 
M0_INTERNAL m0_bindex_t m0_be_log_record_position (const struct m0_be_log_record *record)
 
M0_INTERNAL m0_bindex_t m0_be_log_record_discarded (const struct m0_be_log_record *record)
 
M0_INTERNAL int m0_be_log_reserve (struct m0_be_log *log, m0_bcount_t size)
 
M0_INTERNAL void m0_be_log_unreserve (struct m0_be_log *log, m0_bcount_t size)
 
M0_INTERNAL uint32_t m0_be_log_bshift (struct m0_be_log *log)
 
M0_INTERNAL void m0_be_log_header__set (struct m0_be_fmt_log_header *hdr, m0_bindex_t discarded, m0_bindex_t lsn, m0_bcount_t size)
 
M0_INTERNAL bool m0_be_log_header__is_eq (struct m0_be_fmt_log_header *hdr1, struct m0_be_fmt_log_header *hdr2)
 
M0_INTERNAL bool m0_be_log_header__repair (struct m0_be_fmt_log_header **hdrs, int nr, struct m0_be_fmt_log_header *out)
 
M0_INTERNAL int m0_be_log_header_read (struct m0_be_log *log, struct m0_be_fmt_log_header *log_hdr)
 
static int be_log_read_plain (struct m0_be_log *log, m0_bindex_t pos, m0_bcount_t size, void *out)
 
M0_INTERNAL bool m0_be_fmt_log_record_header__invariant (struct m0_be_fmt_log_record_header *header, struct m0_be_log *log)
 
static void be_log_record_header_copy (struct m0_be_fmt_log_record_header *dest, struct m0_be_fmt_log_record_header *src)
 
static int be_log_record_iter_read (struct m0_be_log *log, struct m0_be_log_record_iter *iter, m0_bindex_t pos)
 
M0_INTERNAL int m0_be_log_record_iter_init (struct m0_be_log_record_iter *iter)
 
M0_INTERNAL void m0_be_log_record_iter_fini (struct m0_be_log_record_iter *iter)
 
M0_INTERNAL void m0_be_log_record_iter_copy (struct m0_be_log_record_iter *dest, struct m0_be_log_record_iter *src)
 
M0_INTERNAL int m0_be_log_record_initial (struct m0_be_log *log, struct m0_be_log_record_iter *curr)
 
M0_INTERNAL int m0_be_log_record_next (struct m0_be_log *log, const struct m0_be_log_record_iter *curr, struct m0_be_log_record_iter *next)
 
M0_INTERNAL int m0_be_log_record_prev (struct m0_be_log *log, const struct m0_be_log_record_iter *curr, struct m0_be_log_record_iter *prev)
 
M0_INTERNAL bool m0_be_log_recovery_record_available (struct m0_be_log *log)
 
M0_INTERNAL void m0_be_log_recovery_record_get (struct m0_be_log *log, struct m0_be_log_record_iter *iter)
 
M0_INTERNAL m0_bindex_t m0_be_log_recovery_discarded (struct m0_be_log *log)
 
M0_INTERNAL bool m0_be_log_contains_stob (struct m0_be_log *log, const struct m0_stob_id *stob_id)
 

Variables

static const struct m0_modlev be_log_levels []
 

Macro Definition Documentation

◆ M0_TRACE_SUBSYSTEM

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE

Definition at line 23 of file log.c.