33 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CLIENT 90 _0C(m0_op_idx_bob_check(oi)) &&
92 m0_ast_rc_bob_check(&oi->
oi_ar) &&
93 m0_op_common_bob_check(&oi->
oi_oc));
167 int32_t *rcs, uint32_t
flags,
196 m0_op_common_bob_init(oc);
203 oi =
M0_AMB(oi, oc, oi_oc);
215 m0_op_idx_bob_init(oi);
216 m0_ast_rc_bob_init(&oi->
oi_ar);
337 op_grp = &
op->op_sm_group;
338 en_grp = &
op->op_entity->en_sm_group;
403 m0_op_common_bob_fini(&oi->
oi_oc);
404 m0_ast_rc_bob_fini(&oi->
oi_ar);
405 m0_op_idx_bob_fini(oi);
488 query_ops =
m0c->m0c_idx_svc_ctx.isc_service->is_query_ops;
500 switch (
op->op_code) {
546 }
else if (
rc == 0) {
655 int svc_id,
void *svc_conf)
664 ctx = &
m0c->m0c_idx_svc_ctx;
666 ctx->isc_svc_conf = svc_conf;
686 #ifdef MOTR_IDX_STORE_CASS 692 #undef M0_TRACE_SUBSYSTEM M0_INTERNAL int m0_dix_pool_version_get(struct m0_pools_common *pc, struct m0_pool_version **pv)
struct m0_dtm0_dtx * tx_dtx
const struct m0_bob_type ar_bobtype
M0_INTERNAL struct m0_client * m0__idx_instance(const struct m0_idx *idx)
void m0_entity_fini(struct m0_entity *entity)
M0_INTERNAL int m0_op_get(struct m0_op **op, size_t size)
int const char const void size_t int flags
static int idx_pool_version_get(struct m0_op_idx *oi)
static void idx_op_cb_fini(struct m0_op_common *oc)
static size_t locality(const struct m0_fom *fom)
int(* iqo_namei_list)(struct m0_op_idx *oi)
M0_INTERNAL int m0__idx_pool_version_get(struct m0_idx *idx, struct m0_pool_version **pv)
M0_INTERNAL void idx_op_ast_complete(struct m0_sm_group *grp, struct m0_sm_ast *ast)
void(* sa_cb)(struct m0_sm_group *grp, struct m0_sm_ast *)
def query(from_, to_, range_end, plug_name, time_unit)
static struct m0_sm_group * grp
struct m0_pool_version * pv
#define M0_LOG(level,...)
M0_INTERNAL void m0_sm_ast_post(struct m0_sm_group *grp, struct m0_sm_ast *ast)
int(* iqo_namei_delete)(struct m0_op_idx *oi)
M0_INTERNAL void idx_op_ast_fail(struct m0_sm_group *grp, struct m0_sm_ast *ast)
M0_INTERNAL void m0_idx_service_register(int svc_id, struct m0_idx_service_ops *sops, struct m0_idx_query_ops *qops)
M0_INTERNAL void m0_dtx0_done(struct m0_dtx *dtx)
M0_INTERNAL void m0_idx_service_config(struct m0_client *m0c, int svc_id, void *svc_conf)
const struct m0_bob_type oi_bobtype
static struct m0_clovis * m0c
M0_INTERNAL int m0_op_init(struct m0_op *op, const struct m0_sm_conf *conf, struct m0_entity *entity)
M0_INTERNAL void m0_dtx0_prepare(struct m0_dtx *dtx)
static void idx_op_cb_cancel(struct m0_op_common *oc)
M0_INTERNAL void m0_idx_mock_register(void)
void m0_idx_fini(struct m0_idx *idx)
struct m0_idx_attr in_attr
int(* iqo_next)(struct m0_op_idx *oi)
M0_ADDB2_ADD(M0_AVI_FS_CREATE, new_fid.f_container, new_fid.f_key, mode, rc)
struct m0_op_common oi_oc
struct m0_bufvec * oi_keys
int m0_idx_op(struct m0_idx *idx, enum m0_idx_opcode opcode, struct m0_bufvec *keys, struct m0_bufvec *vals, int32_t *rcs, uint32_t flags, struct m0_op **op)
M0_INTERNAL int m0_idx_op_namei(struct m0_entity *entity, struct m0_op **op, enum m0_entity_opcode opcode)
static void idx_op_cb_free(struct m0_op_common *oc)
int(* iqo_namei_create)(struct m0_op_idx *oi)
static struct m0_sm_ast ast[NR]
M0_INTERNAL void m0_idx_services_register(void)
M0_INTERNAL void m0_sm_group_unlock(struct m0_sm_group *grp)
struct m0_entity in_entity
int(* iqo_get)(struct m0_op_idx *oi)
struct m0_pools_common m0c_pools_common
M0_INTERNAL struct m0_dtx * m0_dtx0_alloc(struct m0_dtm0_service *svc, struct m0_sm_group *grp)
void(* oc_cb_free)(struct m0_op_common *oc)
return M0_ERR(-EOPNOTSUPP)
static struct m0_client * oi_instance(struct m0_op_idx *oi)
M0_INTERNAL int m0_op_stable(struct m0_op *op)
#define M0_AMB(obj, ptr, field)
int(* iqo_del)(struct m0_op_idx *oi)
int(* iqo_put)(struct m0_op_idx *oi)
#define bob_of(ptr, type, field, bt)
static void idx_op_fail(struct m0_op_idx *oi, int rc)
M0_INTERNAL int m0__idx_cancel(struct m0_op_idx *oi)
M0_INTERNAL struct m0_idx * m0__idx_entity(struct m0_entity *entity)
void(* oc_cb_fini)(struct m0_op_common *oc)
M0_INTERNAL bool m0__idx_op_invariant(struct m0_op_idx *oi)
static struct m0_idx_service idx_services[M0_IDX_MAX_SERVICE_ID]
static struct fdmi_ctx ctx
M0_INTERNAL int m0_op_executed(struct m0_op *op)
M0_INTERNAL void idx_op_ast_executed(struct m0_sm_group *grp, struct m0_sm_ast *ast)
#define m0_forall(var, nr,...)
static struct m0_client cinst
static void idx_op_cb_launch(struct m0_op_common *oc)
M0_BOB_DEFINE(M0_INTERNAL, &oi_bobtype, m0_op_idx)
struct m0_sm_group * oi_sm_grp
struct m0_realm * en_realm
#define OP_IDX2CODE(op_idx)
struct m0_entity * op_entity
M0_INTERNAL struct m0_locality * m0__locality_pick(struct m0_client *cinst)
struct m0_bufvec * oi_vals
void(* oc_cb_cancel)(struct m0_op_common *oc)
static void idx_op_complete_state_set(struct m0_sm_group *grp, struct m0_sm_ast *ast, uint64_t mask)
M0_INTERNAL void m0_sm_move(struct m0_sm *mach, int32_t rc, int state)
M0_INTERNAL void m0_sm_group_lock(struct m0_sm_group *grp)
struct m0_client * re_instance
M0_INTERNAL void m0_idx_cass_register(void)
M0_INTERNAL void m0_idx_dix_register(void)
int(* iqo_namei_lookup)(struct m0_op_idx *oi)
M0_INTERNAL void idx_op_ast_stable(struct m0_sm_group *grp, struct m0_sm_ast *ast)
void(* oc_cb_launch)(struct m0_op_common *oc)
M0_INTERNAL uint64_t m0_sm_id_get(const struct m0_sm *sm)
static int idx_op_init(struct m0_idx *idx, int opcode, struct m0_bufvec *keys, struct m0_bufvec *vals, int32_t *rcs, uint32_t flags, struct m0_op *op)
static struct m0_reqh_service * service[REQH_IN_UT_MAX]
static struct m0_op_idx * ar_ast2oi(struct m0_sm_ast *ast)
M0_INTERNAL void m0_entity_init(struct m0_entity *entity, struct m0_realm *parent, const struct m0_uint128 *id, const enum m0_entity_type type)
#define offsetof(typ, memb)
enum m0_entity_type en_type
M0_INTERNAL bool m0_sm_group_is_locked(const struct m0_sm_group *grp)
void m0_idx_init(struct m0_idx *idx, struct m0_realm *parent, const struct m0_uint128 *id)
struct m0_sm_conf m0_op_conf
#define M0_IMPOSSIBLE(fmt,...)
M0_INTERNAL struct m0_client * m0__entity_instance(const struct m0_entity *entity)