146 const char *caddr =
"0@lo:12345:34:*";
147 const char *saddr =
"0@lo:12345:34:8";
155 .
rt_name =
"File Lock Resource Type" 225 memset(sbuf,
'a', M0_0VEC_ALIGN);
258 M0_0VEC_ALIGN, M0_0VEC_SHIFT);
340 M0_0VEC_ALIGN, M0_0VEC_SHIFT);
397 sbuf, M0_0VEC_ALIGN);
M0_INTERNAL m0_bcount_t m0_net_domain_get_max_buffer_segment_size(struct m0_net_domain *dom)
struct m0_ut_suite bulkio_client_ut
M0_INTERNAL void m0_chan_wait(struct m0_clink *link)
#define M0_ALLOC_ARR(arr, nr)
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
void m0_net_domain_fini(struct m0_net_domain *dom)
M0_INTERNAL int m0_net_tm_start(struct m0_net_transfer_mc *tm, const char *addr)
static struct m0_semaphore q
M0_INTERNAL void m0_clink_init(struct m0_clink *link, m0_chan_cb_t cb)
M0_INTERNAL void m0_clink_del(struct m0_clink *link)
struct m0_rpc_bulk * bb_rbulk
M0_INTERNAL int m0_rpc_bulk_store(struct m0_rpc_bulk *rbulk, const struct m0_rpc_conn *conn, struct m0_net_buf_desc_data *to_desc, const struct m0_net_buffer_callbacks *bulk_cb)
M0_INTERNAL void m0_clink_del_lock(struct m0_clink *link)
struct m0_bufvec nb_buffer
static struct m0_net_tm_callbacks bulkio_ut_tm_cb
static void bulkio_msg_tm_init(struct bulkio_msg_tm *bmt, struct m0_net_domain *nd)
static void bulkio_tm_cb(const struct m0_net_tm_event *ev)
M0_INTERNAL int m0_rpc_bulk_buf_databuf_add(struct m0_rpc_bulk_buf *rbuf, void *buf, m0_bcount_t count, m0_bindex_t index, struct m0_net_domain *netdom)
enum m0_net_tm_state ntm_state
M0_INTERNAL void m0_rpc_bulk_fini(struct m0_rpc_bulk *rbulk)
struct m0_rpc_bulk if_rbulk
struct m0_net_buf_desc_data * id_descs
M0_INTERNAL void m0_free_aligned(void *data, size_t size, unsigned shift)
M0_INTERNAL void m0_rm_domain_init(struct m0_rm_domain *dom)
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
static int struct dentry int struct nameidata * nd
M0_INTERNAL void m0_io_fop_destroy(struct m0_fop *fop)
M0_INTERNAL bool m0_tlist_is_empty(const struct m0_tl_descr *d, const struct m0_tl *list)
M0_INTERNAL void m0_rpc_bulk_buflist_empty(struct m0_rpc_bulk *rbulk)
int m0_bufvec_alloc_aligned(struct m0_bufvec *bufvec, uint32_t num_segs, m0_bcount_t seg_size, unsigned shift)
M0_INTERNAL void m0_file_lock_type_deregister(struct m0_rm_resource_type *flock_rt)
M0_INTERNAL int m0_file_lock_type_register(struct m0_rm_domain *dom, struct m0_rm_resource_type *flock_rt)
M0_INTERNAL int m0_rpc_bulk_load(struct m0_rpc_bulk *rbulk, const struct m0_rpc_conn *conn, struct m0_net_buf_desc_data *from_desc, const struct m0_net_buffer_callbacks *bulk_cb)
M0_INTERNAL struct m0_rpc_bulk * m0_fop_to_rpcbulk(const struct m0_fop *fop)
struct m0_fop_type * f_type
struct m0_rpc_machine * c_rpc_machine
static void bulkio_msg_tm_fini(struct bulkio_msg_tm *bmt)
static void bulkclient_test(void)
M0_INTERNAL int m0_net_tm_init(struct m0_net_transfer_mc *tm, struct m0_net_domain *dom)
M0_INTERNAL void m0_fi_disable(const char *fp_func, const char *fp_tag)
struct m0_net_buffer * bb_nbuf
static void m0_fi_enable(const char *func, const char *tag)
struct m0_net_transfer_mc rm_tm
struct m0_io_descs crw_desc
M0_INTERNAL void m0_net_tm_fini(struct m0_net_transfer_mc *tm)
M0_INTERNAL void m0_rpc_bulk_init(struct m0_rpc_bulk *rbulk)
void(* ntc_event_cb)(const struct m0_net_tm_event *ev)
struct m0_net_xprt * m0_net_xprt_default_get(void)
const struct m0_rpc_item_type * ri_type
const struct m0_net_buffer_callbacks * nb_callbacks
struct m0_0vec bb_zerovec
M0_INTERNAL m0_bcount_t m0_net_domain_get_max_buffer_size(struct m0_net_domain *dom)
struct m0_rpc_conn bmt_conn
static struct m0_clink clink[RDWR_REQUEST_MAX]
M0_INTERNAL int m0_net_tm_stop(struct m0_net_transfer_mc *tm, bool abort)
M0_INTERNAL void m0_bufvec_free_aligned(struct m0_bufvec *bufvec, unsigned shift)
M0_INTERNAL m0_bcount_t m0_vec_count(const struct m0_vec *vec)
M0_INTERNAL bool m0_tlink_is_in(const struct m0_tl_descr *d, const void *obj)
void m0_clink_add_lock(struct m0_chan *chan, struct m0_clink *link)
M0_INTERNAL size_t m0_rpc_bulk_store_del_unqueued(struct m0_rpc_bulk *rbulk)
int m0_net_domain_init(struct m0_net_domain *dom, const struct m0_net_xprt *xprt)
#define M0_ALLOC_PTR(ptr)
M0_INTERNAL void m0_clink_add(struct m0_chan *chan, struct m0_clink *link)
const struct m0_rpc_item_ops * ri_ops
M0_INTERNAL void m0_clink_fini(struct m0_clink *link)
struct m0_rpc_machine bmt_mach
static struct m0_fop * fop
M0_INTERNAL int32_t m0_net_domain_get_max_buffer_segments(struct m0_net_domain *dom)
struct m0_net_buf_desc bdd_desc
M0_INTERNAL void m0_file_fini(struct m0_file *file)
M0_INTERNAL void m0_rpc_bulk_qtype(struct m0_rpc_bulk *rbulk, enum m0_net_queue_type q)
struct m0_net_buf_desc nb_desc
M0_INTERNAL void m0_io_fop_fini(struct m0_io_fop *iofop)
M0_INTERNAL int m0_io_fop_init(struct m0_io_fop *iofop, const struct m0_fid *gfid, struct m0_fop_type *ftype, void(*fop_release)(struct m0_ref *))
M0_INTERNAL void m0_rpc_bulk_store_del(struct m0_rpc_bulk *rbulk)
M0_INTERNAL bool m0_is_read_fop(const struct m0_fop *fop)
const struct m0_net_buffer_callbacks m0_rpc__buf_bulk_cb
M0_INTERNAL void * m0_alloc_aligned(size_t size, unsigned shift)
struct m0_fop_cob_rw * io_rw_get(struct m0_fop *fop)
M0_INTERNAL int m0_io_fop_prepare(struct m0_fop *fop)
M0_INTERNAL int m0_rpc_bulk_buf_add(struct m0_rpc_bulk *rbulk, uint32_t segs_nr, m0_bcount_t length, struct m0_net_domain *netdom, struct m0_net_buffer *nb, struct m0_rpc_bulk_buf **out)
struct m0_fop_type m0_fop_cob_writev_fopt
#define m0_tl_for(name, head, obj)
struct m0_rpc_item f_item
struct m0_ioseg * ci_iosegs
struct m0_io_indexvec crw_ivec
M0_INTERNAL void m0_rm_domain_fini(struct m0_rm_domain *dom)
const struct m0_net_tm_callbacks * ntm_callbacks
M0_TL_DESCR_DECLARE(rpcbulk, M0_EXTERN)
M0_INTERNAL void m0_file_init(struct m0_file *file, const struct m0_fid *fid, struct m0_rm_domain *dom, enum m0_di_types di_type)