64 .lsc_stob_domain_init_cfg =
"directio=true",
65 .lsc_stob_domain_key = 0x1000,
66 .lsc_stob_domain_create_cfg =
NULL,
69 .lsc_stob_create_cfg =
NULL,
150 bool last_incomplete)
161 for (
i = 0;
i < record_nr; ++
i) {
178 if (
i < discard_nr) {
187 for (
i = 0;
i < record_nr; ++
i) {
M0_INTERNAL void m0_be_log_record_io_size_set(struct m0_be_log_record *record, int index, m0_bcount_t size)
static struct m0_mutex lock
static void be_ut_recovery_log_fill(struct be_ut_recovery_ctx *ctx, int record_nr, int discard_nr, bool last_incomplete)
const char * be_ut_recovery_log_sdom_location
#define M0_ALLOC_ARR(arr, nr)
static int be_ut_recovery_iter_count(struct be_ut_recovery_ctx *ctx)
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
static void be_ut_recovery_log_reopen(struct be_ut_recovery_ctx *ctx)
M0_INTERNAL int m0_be_log_record_iter_init(struct m0_be_log_record_iter *iter)
char * lsc_stob_domain_location
M0_INTERNAL bool m0_be_log_recovery_record_available(struct m0_be_log *log)
M0_INTERNAL int m0_be_log_record_allocate(struct m0_be_log_record *record)
M0_INTERNAL void m0_be_log_record_io_launch(struct m0_be_log_record *record, struct m0_be_op *op)
M0_INTERNAL const struct m0_fid * m0_stob_domain_id_get(const struct m0_stob_domain *dom)
M0_INTERNAL int m0_stob_domain_destroy(struct m0_stob_domain *dom)
static void be_ut_recovery_log_close(struct be_ut_recovery_ctx *ctx)
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_record_io_prepare(struct m0_be_log_record *record, enum m0_stob_io_opcode opcode, m0_bcount_t size_reserved)
struct m0_mutex burc_lock
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
static void be_ut_log_got_space_cb(struct m0_be_log *log)
M0_INTERNAL int m0_be_log_record_io_create(struct m0_be_log_record *record, m0_bcount_t size_max)
static void be_ut_recovery_log_record_fini_one(struct m0_be_log_record *record)
const char * be_ut_recovery_log_sdom_init_cfg
struct m0_be_log_store_cfg lc_store_cfg
M0_INTERNAL int m0_stob_domain_create(const char *location, const char *str_cfg_init, uint64_t dom_key, const char *str_cfg_create, struct m0_stob_domain **out)
M0_INTERNAL void m0_be_log_record_assign(struct m0_be_log_record *record, struct m0_be_log_record_iter *iter, bool need_discard)
static void be_ut_recovery_log_open(struct be_ut_recovery_ctx *ctx)
M0_INTERNAL void m0_be_log_close(struct m0_be_log *log)
#define M0_BE_OP_SYNC_RET(op_obj, action, member)
static void be_ut_recovery_log_init(struct be_ut_recovery_ctx *ctx)
const char * be_ut_recovery_log_sdom_create_cfg
struct m0_be_log burc_log
static void be_ut_recovery_log_fini(struct be_ut_recovery_ctx *ctx)
M0_INTERNAL void m0_be_log_record_fini(struct m0_be_log_record *record)
M0_INTERNAL void m0_stob_id_make(uint64_t container, uint64_t key, const struct m0_fid *dom_id, struct m0_stob_id *stob_id)
void m0_be_ut_recovery(void)
M0_INTERNAL int m0_be_log_create(struct m0_be_log *log, struct m0_be_log_cfg *log_cfg)
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
struct m0_stob_domain * burc_sdom
M0_INTERNAL void m0_be_log_record_discard(struct m0_be_log *log, m0_bcount_t size)
M0_INTERNAL void m0_be_log_record_reset(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_recovery_record_get(struct m0_be_log *log, struct m0_be_log_record_iter *iter)
M0_INTERNAL void m0_be_log_destroy(struct m0_be_log *log)
M0_INTERNAL void m0_mutex_fini(struct m0_mutex *mutex)
static void be_ut_recovery_log_record_init_one(struct m0_be_log_record *record, struct m0_be_log *log)
M0_INTERNAL void m0_be_log_record_iter_fini(struct m0_be_log_record_iter *iter)
static void be_ut_recovery_log_cfg_set(struct m0_be_log_cfg *log_cfg, struct m0_stob_domain *sdom, struct m0_mutex *lock)
M0_INTERNAL void m0_be_log_record_deallocate(struct m0_be_log_record *record)
struct m0_be_log_record * burc_records
M0_INTERNAL void m0_be_log_record_skip_discard(struct m0_be_log_record *record)
M0_INTERNAL void m0_be_log_record_init(struct m0_be_log_record *record, struct m0_be_log *log)
struct m0_stob_id lsc_stob_id
static struct m0_stob_domain * sdom