23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CLIENT 65 .lt_id = M0_DEFAULT_LAYOUT_ID,
247 m0_op_obj_bob_init(oo);
248 m0_ast_rc_bob_init(&oo->
oo_ar);
249 m0_op_common_bob_init(&oo->
oo_oc);
274 m0_ast_rc_bob_init(
ar);
281 m0_ast_rc_bob_fini(
ar);
298 ios_cob_req_bob_init(icr);
305 ios_cob_req_bob_fini(icr);
322 m0_op_common_bob_init(oc);
329 m0_op_common_bob_fini(oc);
413 ent.en_id.u_hi = 0x0;
414 ent.en_id.u_lo = 0x103000;
422 m0_op_obj_bob_init(&oo);
423 m0_op_common_bob_init(&oo.
oo_oc);
424 m0_ast_rc_bob_init(&oo.
oo_ar);
434 #ifdef CLIENT_FOR_M0T1FS 441 m0_ast_rc_bob_fini(&oo.
oo_ar);
442 m0_op_common_bob_fini(&oo.
oo_oc);
443 m0_op_obj_bob_fini(&oo);
503 instance->m0c_pools_common.pc_cur_pver->pv_attr.pa_P = 13;
509 m0_op_common_bob_init(&oo.
oo_oc);
514 m0_op_common_bob_fini(&oo.
oo_oc);
549 instance->m0c_pools_common.pc_cur_pver->pv_attr.pa_P = 7;
677 memset(&
obj, 0,
sizeof obj);
678 obj.ob_attr.oa_buf_size = 40960;
683 obj.ob_attr.oa_layout_id < 15);
706 memset(&
obj, 0,
sizeof obj);
827 en_grp = &
ent.en_sm_group;
893 en_grp = &
ent.en_sm_group;
972 instance->m0c_pools_common.pc_cur_pver->pv_attr.pa_P = pool_width;
984 ios_cob_req_bob_init(&icr);
985 m0_ast_rc_bob_init(&icr.
icr_ar);
986 cob_req_bob_init(cr);
987 m0_ast_rc_bob_init(&cr->
cr_ar);
992 en_grp = &
ent.en_sm_group;
1042 m0_ast_rc_bob_fini(&icr.
icr_ar);
1043 ios_cob_req_bob_fini(&icr);
1080 cob_req_bob_init(cr);
1081 m0_ast_rc_bob_init(&cr->
cr_ar);
1085 en_grp = &
ent.en_sm_group;
1105 ios_cob_req_bob_init(&icr);
1106 m0_ast_rc_bob_init(&icr.
icr_ar);
1130 m0_ast_rc_bob_fini(&icr.
icr_ar);
1131 ios_cob_req_bob_fini(&icr);
1191 mach = &
instance->m0c_pools_common.pc_cur_pver->pv_mach;
1192 mach->pm_state = &state;
1231 ctx->sc_type = M0_CST_IOS;
1292 char *str =
"HavantFTW";
1330 #ifdef CLIENT_FOR_M0T1FS 1340 #ifdef CLIENT_FOR_M0T1FS 1358 #ifdef CLIENT_FOR_M0T1FS 1359 char *str =
"HavantFTW";
1380 #ifdef CLIENT_FOR_M0T1FS 1403 #ifdef CLIENT_FOR_M0T1FS 1404 static void ut_test_filename_to_mds_session(
void)
1423 instance->m0c_pools_common.pc_nr_svcs[M0_CST_MDS] = 1;
1463 m0_op_obj_bob_init(oo);
1495 m0_op_obj_bob_init(&oo);
1496 m0_ast_rc_bob_init(&oo.
oo_ar);
1497 m0_op_common_bob_init(&oo.
oo_oc);
1520 m0_fi_enable(
"m0__obj_pool_version_get",
"fake_pool_version");
1527 m0_fi_disable(
"m0__obj_pool_version_get",
"fake_pool_version");
1540 {
"m0_op_obj_invariant",
1544 {
"m0_op_obj_invariant",
1546 {
"m0_op_obj_ast_rc_invariant",
1548 {
"m0_op_common_invariant",
1550 {
"cob_req_invariant",
1552 {
"entity_namei_op(create)",
1554 {
"entity_namei_op(delete)",
1556 {
"m0_entity_create(object)",
1558 {
"m0_entity_delete(object)",
1560 {
"m0__obj_layout_instance_build",
1564 {
"obj_namei_op_init",
1566 {
"obj_op_obj_invariant",
1568 {
"obj_op_obj_init",
1574 {
"m0__entity_instance",
1576 {
"m0__oo_instance",
1578 {
"cob_complete_op",
1582 {
"rpc_item_to_ios_cob_req",
1584 {
"icr_ast_complete",
1588 {
"icr_ast_ver_mismatch",
1590 {
"cob_rio_ios_replied",
1592 {
"cob_ios_fop_populate",
1594 {
"m0_obj_container_id_to_session",
1596 {
"m0_cob_ios_fop_fini",
1602 {
"cob_ast_fail_oo",
1604 {
"cob_rio_mds_replied",
1606 {
"cob_name_mem2wire",
1608 {
"cob_body_mem2wire",
1610 {
"cob_mds_fop_populate",
1612 #ifdef CLIENT_FOR_M0T1FS 1613 {
"filename_to_mds_session",
1614 &ut_test_filename_to_mds_session},
1618 {
"obj_namei_cb_launch",
1622 {
"obj_namei_cb_free",
1626 {
"obj_namei_cb_fini",
1633 {
"obj_optimal_lid_set",
1638 #undef M0_TRACE_SUBSYSTEM
static void ut_test_obj_namei_cb_free(void)
static int cob_mds_fop_populate(struct cob_req *cr, struct m0_fop *fop)
static bool ios_cob_req_invariant(struct ios_cob_req *icr)
void ut_layout_domain_empty(struct m0_client *cinst)
struct m0_fop ** cr_ios_fop
const struct m0_bob_type oo_bobtype
static const struct m0_bob_type layout_instance_bob
#define M0_ALLOC_ARR(arr, nr)
static void ut_test_m0_entity_delete(void)
static void ut_test_entity_namei_op_delete(void)
static void ut_test_m0_obj_container_id_to_session(void)
void m0_entity_fini(struct m0_entity *entity)
M0_INTERNAL void m0_fid_gob_make(struct m0_fid *gob_fid, uint32_t container, uint64_t key)
struct m0_cob_attr * cr_cob_attr
static struct m0_layout_ops ut_layout_ops
M0_INTERNAL struct m0_rpc_session * m0_obj_container_id_to_session(struct m0_pool_version *pv, uint64_t container_id)
M0_INTERNAL struct m0_client * m0__oo_instance(struct m0_op_obj *oo)
static void ut_test_cob_ast_fail_oo(void)
static void ut_test_rpc_item_to_cr(void)
static struct m0_layout_enum_ops ut_layout_enum_ops
static void ut_test_icr_ast_complete(void)
void ut_m0_ops_fini(struct m0_ref *ref)
static void ut_test_cob_mds_fop_populate(void)
static void ut_test_obj_namei_cb_launch(void)
void ut_layout_domain_fill(struct m0_client *cinst)
struct m0_pool_version * pv
struct m0_layout_instance_ops ut_layout_instance_ops
static void ut_test_obj_op_obj_init(void)
static int obj_op_prepare(struct m0_entity *entity, struct m0_op **op, enum m0_entity_opcode opcode)
struct m0_sm_group * oo_sm_grp
static struct m0_realm uber_realm
M0_INTERNAL void m0_buf_init(struct m0_buf *buf, void *data, uint32_t nob)
M0_INTERNAL void ut_striped_layout_fini(struct m0_striped_layout *stl, struct m0_layout_domain *dom)
struct m0_layout_enum *(* lio_to_enum)(const struct m0_layout_instance *li)
static void t_unregister(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
uint64_t m0_client_layout_id(const struct m0_client *instance)
static struct m0_addb2_mach * mach
static void cob_body_mem2wire(struct m0_fop_cob *body, struct m0_cob_attr *attr, int valid, struct cob_req *cr)
static void ut_lio_fini(struct m0_layout_instance *li)
static struct cob_req * rpc_item_to_cr(struct m0_rpc_item *item)
static void ut_test_cob_ios_send(void)
#define container_of(ptr, type, member)
static int cob_name_mem2wire(struct m0_fop_str *tgt, const struct m0_buf *name)
const struct m0_uint128 M0_UBER_REALM
struct m0_layout_enum ut_layout_enum
M0_INTERNAL int m0_fid_cmp(const struct m0_fid *fid0, const struct m0_fid *fid1)
static void ut_test_icr_ast_ver_mismatch(void)
M0_INTERNAL int ut_m0_client_init(struct m0_client **instance)
M0_INTERNAL void m0_sm_group_fini(struct m0_sm_group *grp)
struct m0_layout_enum_type * le_type
static void icr_ast(struct m0_sm_group *grp, struct m0_sm_ast *ast)
M0_INTERNAL int ut_object_fini(void)
static int t_register(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
static const struct m0_layout_type_ops ut_layout_type_ops
M0_BOB_DEFINE(M0_INTERNAL, &enum_bob, m0_layout_enum)
static m0_bcount_t t_max_recsize(struct m0_layout_domain *dom)
struct m0_client * cr_cinst
M0_INTERNAL void m0_rwlock_init(struct m0_rwlock *lock)
static void cob_complete_op(struct m0_op *op)
const struct m0_uint128 M0_ID_APP
static void ut_test_cob_fail_op(void)
M0_INTERNAL bool m0_op_obj_invariant(struct m0_op_obj *oo)
static void ut_test_obj_op_obj_invariant(void)
M0_INTERNAL void m0_sm_group_unlock(struct m0_sm_group *grp)
static void ut_test_cob_body_mem2wire(void)
static struct m0_layout_enum_type ut_layout_enum_type
struct m0_fop_type * f_type
M0_INTERNAL void ut_realm_entity_setup(struct m0_realm *realm, struct m0_entity *ent, struct m0_client *cinst)
static struct m0_layout_instance ut_layout_instance
M0_INTERNAL void m0_fid_set(struct m0_fid *fid, uint64_t container, uint64_t key)
const struct m0_bob_type oc_bobtype
M0_INTERNAL int ut_object_init(void)
static void ut_test_cob_name_mem2wire(void)
M0_INTERNAL uint64_t m0_pool_version2layout_id(const struct m0_fid *pv_fid, uint64_t lid)
static void ut_test_cob_mds_send(void)
static void attr(struct m0_addb2__context *ctx, const uint64_t *v, char *buf)
static void ut_test_m0_op_common_invariant(void)
const struct m0_layout_enum_ops * le_ops
M0_INTERNAL void m0_fi_disable(const char *fp_func, const char *fp_tag)
static void m0_fi_enable(const char *func, const char *tag)
M0_INTERNAL void ut_m0_client_fini(struct m0_client **instance)
M0_INTERNAL void m0_sm_group_init(struct m0_sm_group *grp)
static void ut_layout_fini(struct m0_layout *l, struct m0_layout_domain *dom)
static void obj_namei_cb_launch(struct m0_op_common *oc)
static void ut_entity_namei_op(enum m0_entity_opcode opcode)
static void ut_test_obj_namei_cb_fini(void)
static void obj_namei_cb_free(struct m0_op_common *oc)
#define bob_of(ptr, type, field, bt)
static struct ios_cob_req * rpc_item_to_icr(struct m0_rpc_item *item)
struct m0_layout_enum * sl_enum
static struct m0_stob_domain * dom
static struct m0_fid cob_fid
static void obj_namei_cb_fini(struct m0_op_common *oc)
static void ut_test_m0__entity_instance(void)
struct m0_rpc_item * ri_reply
void * m0_alloc(size_t size)
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
M0_INTERNAL void ut_shuffle_test_order(struct m0_ut_suite *suite)
M0_INTERNAL int m0_fid_print(char *s, size_t s_len, const struct m0_fid *fid)
struct m0_pools_common * pv_pc
static void ut_test_m0_op_obj_ast_rc_invariant(void)
int(* lo_instance_build)(struct m0_layout *l, const struct m0_fid *fid, struct m0_layout_instance **linst)
struct m0_layout_domain rh_ldom
void(* oc_cb_fini)(struct m0_op_common *oc)
struct m0_pool_device_to_service * pc_dev2svc
static struct m0_layout ut_layout
struct m0_op_common oo_oc
static uint32_t ut_layout_nr(const struct m0_layout_enum *e)
static struct fdmi_ctx ctx
static void ut_test_rpc_item_to_ios_cob_req(void)
static struct m0_clink l[NR]
void(* leo_get)(const struct m0_layout_enum *e, uint32_t idx, const struct m0_fid *gfid, struct m0_fid *out)
static void ut_test_obj_lid_assign(void)
static void ut_test_m0_op_obj_invariant(void)
struct m0_reqh_service_ctx * pds_ctx
static int ut_m0_ops_instance_build(struct m0_layout *layout, const struct m0_fid *fid, struct m0_layout_instance **linst)
int m0_entity_create(struct m0_fid *pool, struct m0_entity *entity, struct m0_op **op)
static struct m0_client cinst
struct m0_fop_data f_data
M0_INTERNAL void ut_striped_layout_init(struct m0_striped_layout *stl, struct m0_layout_domain *dom)
static void ut_test_cob_ios_fop_populate(void)
struct m0_pdclust_tgt_addr tgt
struct m0_sm_group op_sm_group
static bool m0_op_common_invariant(struct m0_op_common *oc)
M0_INTERNAL bool m0_op_obj_ast_rc_invariant(struct m0_ast_rc *ar)
static void ut_test_cob_req_invariant(void)
static int obj_namei_op_init(struct m0_entity *entity, struct m0_op *op)
const struct m0_layout_instance_ops * li_ops
M0_INTERNAL void m0_layout_domain_cleanup(struct m0_layout_domain *dom)
M0_INTERNAL void m0_sm_init(struct m0_sm *mach, const struct m0_sm_conf *conf, uint32_t state, struct m0_sm_group *grp)
#define M0_ALLOC_PTR(ptr)
static struct m0_realm realm
int(* lto_register)(struct m0_layout_domain *dom, const struct m0_layout_type *lt)
struct m0_entity * op_entity
M0_INTERNAL void ut_layout_init(struct m0_layout *layout, struct m0_layout_domain *dom)
static struct m0_layout_type ut_layout_type
static void ut_test_cob_complete_op(void)
struct m0_fop_type m0_fop_cob_create_fopt
M0_INTERNAL void m0_sm_move(struct m0_sm *mach, int32_t rc, int state)
M0_INTERNAL void m0_mutex_fini(struct m0_mutex *mutex)
M0_INTERNAL int m0_layout_type_register(struct m0_layout_domain *dom, struct m0_layout_type *lt)
static struct m0_fop * fop
struct m0_striped_layout * le_sl
static void ut_test_m0_cob_ios_fop_fini(void)
void m0_obj_init(struct m0_obj *obj, struct m0_realm *parent, const struct m0_uint128 *id, uint64_t layout_id)
struct m0_rpc_item_type ft_rpc_item_type
static int entity_namei_op(struct m0_entity *entity, struct m0_op **op, enum m0_entity_opcode opcode)
static struct m0 instance
M0_INTERNAL void m0_sm_group_lock(struct m0_sm_group *grp)
static struct m0_layout_enum * ut_lio_ops_to_enum(const struct m0_layout_instance *li)
static void ut_test_cob_rio_mds_replied(void)
static void m0_fi_enable_once(const char *func, const char *tag)
M0_INTERNAL void m0_layout_type_unregister(struct m0_layout_domain *dom, struct m0_layout_type *lt)
struct m0_fop * oo_mds_fop
int m0_entity_delete(struct m0_entity *entity, struct m0_op **op)
static int obj_op_obj_init(struct m0_op_obj *oo)
void m0_container_init(struct m0_container *con, struct m0_realm *parent, const struct m0_uint128 *id, struct m0_client *instance)
M0_INTERNAL void m0_layout__init(struct m0_layout *l, struct m0_layout_domain *dom, uint64_t lid, struct m0_layout_type *lt, const struct m0_layout_ops *ops)
struct m0_client * re_instance
struct m0_ut_suite ut_suite_obj
static struct m0_fop_type * ft[]
M0_INTERNAL int m0__obj_layout_instance_build(struct m0_client *cinst, const uint64_t layout_id, const struct m0_fid *fid, struct m0_layout_instance **linst)
static const struct m0_bob_type enum_bob
static void ut_layout_enum_get(const struct m0_layout_enum *e, uint32_t idx, const struct m0_fid *gfid, struct m0_fid *out)
static void ut_test_obj_op_prepare(void)
#define OP_OBJ2CODE(op_obj)
static void cob_fail_op(struct m0_op *op, int rc)
M0_INTERNAL void m0_layout_put(struct m0_layout *l)
M0_INTERNAL void m0_fid_convert_gob2cob(const struct m0_fid *gob_fid, struct m0_fid *cob_fid, uint32_t device_id)
static void ut_test_entity_namei_op_create(void)
struct m0_layout_instance * oo_layout_instance
static void ut_test_m0_entity_create(void)
void(* oc_cb_launch)(struct m0_op_common *oc)
M0_INTERNAL void m0_layout__populate(struct m0_layout *l, uint32_t user_count)
struct m0_rpc_item f_item
struct m0_pdclust_attr pv_attr
static void ut_test_obj_namei_op_init(void)
static bool obj_op_obj_invariant(struct m0_op_obj *oo)
struct m0_mutex op_priv_lock
#define offsetof(typ, memb)
struct m0_sm_conf m0_op_conf
static void ut_test_cob_rio_ios_replied(void)
static void ut_test_m0__oo_instance(void)
static void ut_test_m0__obj_layout_instance_build(void)
static void ut_test_m0_fid_print(void)
M0_INTERNAL struct m0_client * m0__entity_instance(const struct m0_entity *entity)
M0_INTERNAL void m0_sm_fini(struct m0_sm *mach)
static void ut_test_icr_ast_fail(void)