25 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CLIENT 36 #if defined(round_down) 105 ioreq_fop_bob_init(reqfop);
124 ioreq_fop_bob_fini(reqfop);
166 rpcbulk_tlist_init(&
fop->irf_iofop.if_rbulk.rb_buflist);
223 iofops_tlink_init(
fop);
292 {
"ioreq_fop_invariant",
294 {
"failure_vector_mismatch",
300 {
"client_passive_recv",
302 {
"ioreq_fop_async_submit",
304 {
"ioreq_fop_release",
310 {
"ioreq_pgiomap_find",
312 {
"ioreq_fop_dgmode_read",
318 #undef M0_TRACE_SUBSYSTEM
void ut_layout_domain_empty(struct m0_client *cinst)
static void io_bottom_half(struct m0_sm_group *grp, struct m0_sm_ast *ast)
static void ut_test_ioreq_fop_release(void)
void(* sa_cb)(struct m0_sm_group *grp, struct m0_sm_ast *)
static struct m0_sm_group * grp
struct m0_io_fop irf_iofop
static uint32_t ut_sa_cb_executed
M0_INTERNAL void ut_dummy_target_ioreq_delete(struct target_ioreq *ti)
M0_INTERNAL int ut_io_req_fop_fini(void)
static struct m0_client * dummy_instance
void ut_layout_domain_fill(struct m0_client *cinst)
M0_INTERNAL int ut_m0_client_init(struct m0_client **instance)
static struct m0_rpc_item * item
static struct m0_pdclust_layout * dummy_pdclust_layout
M0_INTERNAL int ut_io_req_fop_init(void)
static struct m0_sm_ast ast[NR]
static void ut_test_ioreq_fop_fini(void)
static void ut_test_ioreq_fop_invariant(void)
M0_INTERNAL void m0_sm_group_unlock(struct m0_sm_group *grp)
static void ut_test_ioreq_fop_init(void)
static void ioreq_fop_release(struct m0_ref *ref)
static void ut_test_io_bottom_half(void)
M0_INTERNAL bool ioreq_fop_invariant(const struct ioreq_fop *fop)
struct nw_xfer_request ioo_nwxfer
void m0_ref_init(struct m0_ref *ref, int init_num, void(*release)(struct m0_ref *ref))
M0_INTERNAL void ut_dummy_ioo_delete(struct m0_op_io *ioo, struct m0_client *instance)
M0_INTERNAL void ut_dummy_ioreq_fop_delete(struct ioreq_fop *fop)
M0_INTERNAL void ut_m0_client_fini(struct m0_client **instance)
M0_INTERNAL struct target_ioreq * ut_dummy_target_ioreq_create(void)
M0_INTERNAL struct ioreq_fop * ut_dummy_ioreq_fop_create(void)
struct m0_rpc_item * ri_reply
struct m0_sm_group * sm_grp
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
M0_INTERNAL void ut_shuffle_test_order(struct m0_ut_suite *suite)
static void ut_test_ioreq_pgiomap_find(void)
struct m0_ut_suite ut_suite_io_req_fop
struct m0_fop_data f_data
M0_INTERNAL int64_t m0_ref_read(const struct m0_ref *ref)
M0_INTERNAL struct m0_pdclust_layout * ut_dummy_pdclust_layout_create(struct m0_client *instance)
struct target_ioreq * irf_tioreq
M0_INTERNAL struct m0_op_io * ut_dummy_ioo_create(struct m0_client *instance, int num_io_maps)
static void ut_test_ioreq_fop_dgmode_read(void)
static void ut_test_client_passive_recv(void)
static void ioreq_pgiomap_find(struct m0_op_io *ioo, uint64_t grpid, uint64_t *cursor, struct pargrp_iomap **out)
#define M0_ALLOC_PTR(ptr)
const struct m0_rpc_item_ops * ri_ops
static void ut_mock_rpc_item_sa_cb(struct m0_sm_group *grp, struct m0_sm_ast *ast)
M0_INTERNAL int ioreq_fop_init(struct ioreq_fop *fop, struct target_ioreq *ti, enum page_attr pattr)
static void ut_test_ioreq_fop_async_submit(void)
static struct m0_fop * fop
static struct m0 instance
M0_INTERNAL void m0_sm_group_lock(struct m0_sm_group *grp)
static void ut_test_failure_vector_mismatch(void)
struct nw_xfer_request * ti_nwxfer
M0_INTERNAL void m0_client_init_io_op(void)
M0_INTERNAL void ioreq_fop_fini(struct ioreq_fop *fop)
static const struct m0_rpc_item_ops item_ops
struct m0_rpc_item f_item
static void io_rpc_item_cb(struct m0_rpc_item *item)
static void ut_test_io_rpc_item_cb(void)
static void ut_mock_rpc_item_release(struct m0_ref *ref)