55 &
obj->ob_attr.oa_pver);
57 ERR(
"invalid object pool version: "FID_F"\n",
64 return usz *
pver->pv_attr.pa_N;
87 attr->ov_vec.v_count[
i] = 0;
109 const struct m0_fid *comp_fid,
123 ERR(
"m0_rpc_at_add() failed with %d\n",
rc);
133 ERR(
"m0_rpc_at_recv() failed with %d\n",
rc);
138 req->cir_rpc_sess = sess;
162 ERR(
"Got error in reply from %s: rc=%d.\n",
addr,
rc);
164 ERR(
"Was isc .so library is loaded?\n");
171 ERR(
"rpc_at_rep_get() from %s failed: rc=%d\n",
addr,
rc);
212 ERR(
"Failed to send request to %s: rc=%d\n",
233 if (
req->cir_fop.f_item.ri_reply !=
NULL)
237 req->cir_fop.f_item.ri_reply =
NULL;
240 req->cir_fop.f_data.fd_data =
NULL;
251 conf->mc_is_oostore =
true;
252 conf->mc_is_read_verify =
false;
255 conf->mc_layout_id = 0;
264 ERR(
"failed to initilise the Client API\n");
271 ERR(
"failed to open uber realm\n");
M0_INTERNAL int m0_rpc_post(struct m0_rpc_item *item)
enum m0_rpc_item_priority ri_prio
M0_INTERNAL int m0_indexvec_alloc(struct m0_indexvec *ivec, uint32_t len)
M0_INTERNAL void m0_list_add_before(struct m0_list_link *anchor, struct m0_list_link *new)
M0_INTERNAL void m0_list_init(struct m0_list *head)
M0_INTERNAL struct m0_pool_version * m0_pool_version_find(struct m0_pools_common *pc, const struct m0_fid *id)
static struct io_request req
M0_INTERNAL void m0_fop_init(struct m0_fop *fop, struct m0_fop_type *fopt, void *data, void(*fop_release)(struct m0_ref *))
M0_INTERNAL void m0_rpc_at_init(struct m0_rpc_at_buf *ab)
struct m0_rpc_at_buf fir_ret
void free_segs(struct m0_bufvec *data, struct m0_indexvec *ext, struct m0_bufvec *attr)
void m0_client_fini(struct m0_client *m0c, bool fini_m0)
void * m0_fop_data(const struct m0_fop *fop)
M0_INTERNAL void m0_indexvec_free(struct m0_indexvec *ivec)
static const struct m0_rpc_item_ops isc_item_ops
M0_INTERNAL int m0_rpc_at_add(struct m0_rpc_at_buf *ab, const struct m0_buf *buf, const struct m0_rpc_conn *conn)
int m0_client_init(struct m0_client **m0c, struct m0_config *conf, bool init_m0)
const struct m0_uint128 M0_UBER_REALM
static struct m0_rpc_item * item
void isc_req_fini(struct isc_req *req)
M0_INTERNAL int m0_rpc_at_rep_get(struct m0_rpc_at_buf *sent, struct m0_rpc_at_buf *rcvd, struct m0_buf *out)
M0_INTERNAL int m0_bufvec_alloc(struct m0_bufvec *bufvec, uint32_t num_segs, m0_bcount_t seg_size)
M0_INTERNAL const char * m0_rpc_conn_addr(const struct m0_rpc_conn *conn)
M0_INTERNAL void m0_bufvec_free(struct m0_bufvec *bufvec)
int m0_obj_layout_id_to_unit_size(uint64_t layout_id)
struct m0_pools_common m0c_pools_common
struct m0_rpc_machine * m0_fop_rpc_machine(const struct m0_fop *fop)
M0_INTERNAL void m0_rpc_machine_unlock(struct m0_rpc_machine *machine)
static void ireqs_list_add_in_order(struct isc_req *req)
void isc_req_replied(struct m0_rpc_item *item)
#define M0_AMB(obj, ptr, field)
static void attr(struct m0_addb2__context *ctx, const uint64_t *v, char *buf)
struct m0_entity re_entity
#define m0_list_for_each_entry(head, pos, type, member)
struct m0_fop_type m0_fop_isc_fopt
uint64_t set_exts(struct m0_indexvec *ext, uint64_t off, uint64_t bsz)
static struct m0_fop reply_fop
struct m0_rpc_at_buf fi_args
static struct m0_container container
M0_INTERNAL void m0_fop_fini(struct m0_fop *fop)
struct m0_layout_plop iop_base
struct m0_rpc_session * iop_session
void(* rio_replied)(struct m0_rpc_item *item)
static struct m0_client cinst
M0_INTERNAL void m0_rpc_machine_lock(struct m0_rpc_machine *machine)
struct m0_semaphore isc_sem
M0_INTERNAL void m0_fop_release(struct m0_ref *ref)
int isc_init(struct m0_config *conf, struct m0_client **cinst)
const struct m0_rpc_item_ops * ri_ops
struct m0_rpc_at_buf fi_ret
struct m0_rpc_session * ri_session
M0_INTERNAL void m0_rpc_at_fini(struct m0_rpc_at_buf *ab)
void m0_fop_put_lock(struct m0_fop *fop)
static struct m0_fop * fop
struct m0_fop * m0_rpc_item_to_fop(const struct m0_rpc_item *item)
uint64_t isc_m0gs(struct m0_obj *obj, struct m0_client *cinst)
struct m0_realm uber_realm
int alloc_segs(struct m0_bufvec *data, struct m0_indexvec *ext, struct m0_bufvec *attr, uint64_t bsz, uint32_t cnt)
void m0_container_init(struct m0_container *con, struct m0_realm *parent, const struct m0_uint128 *id, struct m0_client *instance)
void isc_fini(struct m0_client *cinst)
static struct m0_idx_dix_config dix_conf
int isc_req_prepare(struct isc_req *req, struct m0_buf *args, const struct m0_fid *comp_fid, struct m0_layout_io_plop *iop, uint32_t reply_len)
M0_INTERNAL void m0_semaphore_up(struct m0_semaphore *semaphore)
struct m0_rpc_item f_item
M0_INTERNAL void m0_trace_set_mmapped_buffer(bool val)
int isc_req_send(struct isc_req *req)
struct m0_rpc_conn * s_conn
const m0_time_t M0_TIME_IMMEDIATELY
M0_INTERNAL int m0_rpc_at_recv(struct m0_rpc_at_buf *ab, const struct m0_rpc_conn *conn, uint32_t len, bool force_bulk)
static void fop_fini_lock(struct m0_fop *fop)