|
#define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CAS |
|
#define | LAYOUT_IMASK_PTR(l) (&(l)->u.dl_desc.ld_imask) |
|
#define | CID_IMASK_PTR(cid) LAYOUT_IMASK_PTR(&(cid)->ci_layout) |
|
enum | stats_kv { STATS_KEY,
STATS_VAL,
STATS_KV_NR
} |
|
enum | stats_kv_io { STATS_KV_IN,
STATS_KV_OUT,
STATS_KV_IO_NR
} |
|
enum | { STATS_NR_INLINE,
STATS_NR_BULK,
STATS_SIZE,
STATS_NR
} |
|
enum | cas_fom_phase {
CAS_TXN_OPENED = M0_FOPH_TYPE_SPECIFIC,
CAS_META_UNLOCK,
CAS_LOOP,
CAS_DONE,
CAS_CHECK_PRE,
CAS_CHECK,
CAS_START,
CAS_META_LOCK,
CAS_META_LOOKUP,
CAS_META_LOOKUP_DONE,
CAS_CTG_CROW_DONE,
CAS_LOCK,
CAS_CTIDX_LOCK,
CAS_CTIDX,
CAS_CTIDX_INSERT,
CAS_CTIDX_LOOKUP,
CAS_CTIDX_DELETE,
CAS_CTIDX_MEM_PLACE,
CAS_CTIDX_MEM_FREE,
CAS_PREP,
CAS_LOAD_KEY,
CAS_LOAD_VAL,
CAS_LOAD_DONE,
CAS_PREPARE_SEND,
CAS_SEND_KEY,
CAS_KEY_SENT,
CAS_SEND_VAL,
CAS_VAL_SENT,
CAS_DEAD_INDEX_LOCK,
CAS_INSERT_TO_DEAD,
CAS_DELETE_FROM_META,
CAS_IDROP_LOOP,
CAS_IDROP_LOCK_LOOP,
CAS_IDROP_LOCKED,
CAS_IDROP_START_GC,
CAS_DTM0,
CAS_NR
} |
|
static const struct m0_reqh_service_ops | cas_service_ops |
|
static const struct m0_reqh_service_type_ops | cas_service_type_ops |
|
static const struct m0_fom_ops | cas_fom_ops |
|
static const struct m0_fom_type_ops | cas_fom_type_ops |
|
static struct m0_sm_conf | cas_sm_conf |
|
static struct m0_sm_state_descr | cas_fom_phases [] |
|
M0_INTERNAL void(* | cas__ut_cb_done )(struct m0_fom *fom) |
|
M0_INTERNAL void(* | cas__ut_cb_fini )(struct m0_fom *fom) |
|
struct m0_sm_trans_descr | cas_fom_trans [] |
|
M0_INTERNAL struct m0_reqh_service_type | m0_cas_service_type |
|
| M0_BASSERT (M0_CAS_GET_FOP_OPCODE==CO_GET+M0_CAS_GET_FOP_OPCODE) |
|
| M0_BASSERT (M0_CAS_PUT_FOP_OPCODE==CO_PUT+M0_CAS_GET_FOP_OPCODE) |
|
| M0_BASSERT (M0_CAS_DEL_FOP_OPCODE==CO_DEL+M0_CAS_GET_FOP_OPCODE) |
|
| M0_BASSERT (M0_CAS_CUR_FOP_OPCODE==CO_CUR+M0_CAS_GET_FOP_OPCODE) |
|
| M0_BASSERT (M0_CAS_REP_FOP_OPCODE==CO_REP+M0_CAS_GET_FOP_OPCODE) |
|
static int | cas_service_start (struct m0_reqh_service *service) |
|
static void | cas_service_stop (struct m0_reqh_service *service) |
|
static void | cas_service_fini (struct m0_reqh_service *service) |
|
static size_t | cas_fom_home_locality (const struct m0_fom *fom) |
|
static int | cas_service_type_allocate (struct m0_reqh_service **service, const struct m0_reqh_service_type *st) |
|
static struct m0_cas_op * | cas_op (const struct m0_fom *fom) |
|
static const struct m0_fid * | cas_fid (const struct m0_fom *fom) |
|
static enum m0_cas_type | cas_type (const struct m0_fom *fom) |
|
static struct m0_cas_rec * | cas_at (struct m0_cas_op *op, int idx) |
|
static struct m0_cas_rec * | cas_out_at (const struct m0_cas_rep *rep, int idx) |
|
static bool | cas_is_ro (enum m0_cas_opcode opc) |
|
static enum m0_cas_opcode | m0_cas_opcode (const struct m0_fop *fop) |
|
static uint64_t | cas_in_nr (const struct m0_fop *fop) |
|
static uint64_t | cas_out_nr (const struct m0_fop *fop) |
|
static void | cas_prep (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, struct m0_cas_ctg *ctg, uint64_t rec_pos, struct m0_be_tx_credit *accum) |
|
static int | cas_exec (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, struct m0_cas_ctg *ctg, uint64_t rec_pos, int next) |
|
static int | cas_done (struct cas_fom *fom, struct m0_cas_op *op, struct m0_cas_rep *rep, enum m0_cas_opcode opc) |
|
static bool | cas_ctidx_op_needed (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, uint64_t rec_pos) |
|
static bool | cas_key_need_to_send (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, struct m0_cas_op *op, uint64_t rec_pos) |
|
static int | cas_prep_send (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct) |
|
static bool | cas_is_valid (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, const struct m0_cas_rec *rec, uint64_t rec_pos) |
|
static int | cas_op_recs_check (struct cas_fom *fom, enum m0_cas_opcode opc, enum m0_cas_type ct, struct m0_cas_op *op) |
|
static bool | cas_fom_invariant (const struct cas_fom *fom) |
|
static int | cas_buf_cid_decode (struct m0_buf *enc_buf, struct m0_cas_id *cid) |
|
static bool | cas_fid_is_cctg (const struct m0_fid *fid) |
|
static int | cas_id_check (const struct m0_cas_id *cid) |
|
static int | cas_device_check (const struct cas_fom *fom, const struct m0_cas_id *cid) |
|
static int | cas_op_check (struct m0_cas_op *op, struct cas_fom *fom, bool is_index_drop) |
|
static void | cas_incoming_kv (const struct cas_fom *fom, uint64_t rec_pos, struct m0_buf *key, struct m0_buf *val) |
|
static int | cas_incoming_kv_setup (struct cas_fom *fom, const struct m0_cas_op *op) |
|
static int | cas_kv_load_done (struct cas_fom *fom, enum m0_cas_opcode opc, const struct m0_cas_op *op, int phase) |
|
static int | cas_ctg_crow_handle (struct cas_fom *fom, const struct m0_cas_id *cid) |
|
static int | cas_ctidx_mem_place (struct cas_fom *fom, const struct m0_cas_id *in_cid, int next) |
|
static int | cas_ctidx_mem_free (struct cas_fom *fom, int next) |
|
static int | cas_ctidx_insert (struct cas_fom *fom, const struct m0_cas_id *in_cid, int next) |
|
static int | cas_ctidx_lookup (struct cas_fom *fom, const struct m0_cas_id *in_cid, int next) |
|
static int | cas_ctidx_delete (struct cas_fom *fom, const struct m0_cas_id *in_cid, int next) |
|
M0_INTERNAL void | m0_cas_svc_init (void) |
|
M0_INTERNAL void | m0_cas_svc_fini (void) |
|
M0_INTERNAL void | m0_cas_svc_fop_args (struct m0_sm_conf **sm_conf, const struct m0_fom_type_ops **fom_ops, struct m0_reqh_service_type **svctype) |
|
M0_INTERNAL void | m0_cas__ut_svc_be_set (struct m0_reqh_service *svc, struct m0_be_domain *dom) |
|
M0_INTERNAL struct m0_be_domain * | m0_cas__ut_svc_be_get (struct m0_reqh_service *svc) |
|
static void | cas_service_prepare_to_stop (struct m0_reqh_service *svc) |
|
static bool | cas_service_started (struct m0_fop *fop, struct m0_reqh *reqh) |
|
static int | cas_fom_create (struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh) |
|
static int | cas_at_load (struct m0_rpc_at_buf *ab, struct m0_fom *fom, int next_phase) |
|
static int | cas_at_reply (struct m0_rpc_at_buf *in, struct m0_rpc_at_buf *out, struct m0_buf *repbuf, struct m0_fom *fom, int next_phase) |
|
static void | cas_at_fini (struct m0_rpc_at_buf *ab) |
|
static void | cas_update_kv_stats (struct cas_fom *fom, const struct m0_rpc_at_buf *ab, m0_bcount_t nob, enum stats_kv kv, enum stats_kv_io kv_io) |
|
static struct m0_rpc_at_buf * | cas_out_complementary (enum m0_cas_opcode opc, const struct m0_cas_op *op, bool key, size_t opos) |
|
static int | cas_key_send (struct cas_fom *fom, const struct m0_cas_op *op, enum m0_cas_opcode opc, const struct m0_cas_rep *rep, enum cas_fom_phase next_phase) |
|
static int | cas_val_send (struct cas_fom *fom, const struct m0_cas_op *op, enum m0_cas_opcode opc, const struct m0_cas_rep *rep, enum cas_fom_phase next_phase) |
|
static bool | cas_max_reply_payload_exceeded (struct cas_fom *fom) |
|
static void | cas_fom_cleanup (struct cas_fom *fom, bool ctg_op_fini) |
|
static void | cas_fom_failure (struct cas_fom *fom, int rc, bool ctg_op_fini) |
|
static int | cas_dtm0_logrec_credit_add (struct m0_fom *fom0) |
|
static int | cas_dtm0_logrec_add (struct m0_fom *fom0, enum m0_dtm0_tx_pa_state state) |
|
static void | cas_fom_success (struct cas_fom *fom, enum m0_cas_opcode opc) |
|
static void | addb2_add_kv_attrs (const struct cas_fom *fom, enum stats_kv_io kv_io) |
|
static bool | op_is_index_drop (enum m0_cas_opcode opc, enum m0_cas_type ct) |
|
static int | op_sync_wait (struct m0_fom *fom) |
|
static int | cas_fom_tick (struct m0_fom *fom0) |
|
static void | cas_fom_fini (struct m0_fom *fom0) |
|
static int | cas_sdev_state (struct m0_poolmach *pm, uint32_t sdev_idx, enum m0_pool_nd_state *state_out) |
|
static int | cas_place (struct m0_buf *dst, struct m0_buf *src, m0_bcount_t cutoff) |
|
static m0_bcount_t | cas_kv_nob (const struct m0_buf *inbuf) |
|
static m0_bcount_t | cas_rpc_cutoff (const struct cas_fom *fom) |
|
static int | cas_ctg_crow_fop_buf_prepare (const struct m0_cas_id *cid, struct m0_rpc_at_buf *at_buf) |
|
static int | cas_ctg_crow_fop_create (const struct m0_cas_id *cid, struct m0_fop **out) |
|
static void | cas_ctg_crow_done_cb (struct m0_fom_thralldom *thrall, struct m0_fom *serf) |
|
static void | cas_addb2_fom_to_crow_fom (const struct m0_fom *fom0, const struct m0_fom *crow_fom0) |
|
M0_INTERNAL int | m0_cas_fom_spawn (struct m0_fom *lead, struct m0_fom_thralldom *thrall, struct m0_fop *cas_fop, void(*on_fom_complete)(struct m0_fom_thralldom *, struct m0_fom *)) |
|
static void | cas_fom_addb2_descr (struct m0_fom *fom) |
|