22 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_SPIEL 69 .sd_name =
"Conf_load_Prepare",
74 .sd_name =
"Network_Buffer_Acquire",
79 .sd_name =
"Zero-copy_Initiate",
84 .sd_name =
"Zero-copy_Finish",
89 .sd_name =
"Conf_load_Finish",
138 return M0_RC(-ENOMEM);
262 uint32_t segs_nr = 0;
396 if (rbulk->
rb_rc == 0)
465 #define _CASE(phase, op) \ 516 #undef M0_TRACE_SUBSYSTEM static m0_bcount_t seg_size
#define M0_CONFD_FID(old_version, new_version, tx_id)
void m0_fom_phase_moveif(struct m0_fom *fom, int32_t rc, int phase0, int phase1)
M0_INTERNAL struct m0_fop_conf_load * m0_conf_fop_to_load_fop(const struct m0_fop *fop)
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
struct m0_bufvec nb_buffer
#define M0_LOG(level,...)
int(* fto_create)(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
M0_INTERNAL void m0_rpc_bulk_fini(struct m0_rpc_bulk *rbulk)
static size_t conf_load_fom_home_locality(const struct m0_fom *fom)
static int conf_load_fom_tick(struct m0_fom *fom)
static int conf_zero_copy_finish(struct m0_fom *)
const struct m0_fom_type_ops conf_load_fom_type_ops
static bool conf_load_fom_invariant(const struct m0_conf_load_fom *fom)
M0_INTERNAL void m0_fom_wait_on(struct m0_fom *fom, struct m0_chan *chan, struct m0_fom_callback *cb)
M0_INTERNAL int m0_pageshift_get(void)
#define container_of(ptr, type, member)
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
M0_INTERNAL m0_bcount_t m0_conf_segment_size(struct m0_fop *fop)
struct m0_fop_getxattr_rep * rep
M0_INTERNAL void m0_rpc_bulk_buflist_empty(struct m0_rpc_bulk *rbulk)
struct m0_fom_type ft_fom_type
int m0_bufvec_alloc_aligned(struct m0_bufvec *bufvec, uint32_t num_segs, m0_bcount_t seg_size, unsigned shift)
void m0_fom_init(struct m0_fom *fom, const struct m0_fom_type *fom_type, const struct m0_fom_ops *ops, struct m0_fop *fop, struct m0_fop *reply, struct m0_reqh *reqh)
struct m0_fop_type m0_fop_conf_load_rep_fopt
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)
struct m0_fop_type * f_type
void m0_confd_stob_fini(struct m0_stob *stob)
M0_INTERNAL int m0_conf_stob_location_generate(struct m0_fom *fom, char **location)
enum m0_net_queue_type nb_qtype
static int conf_fom_conf_file_save(struct m0_conf_load_fom *conf_fom)
int m0_fom_tick_generic(struct m0_fom *fom)
void m0_fom_fini(struct m0_fom *fom)
static struct m0_stob * stob
struct m0_net_buffer clm_net_buffer
M0_INTERNAL void m0_rpc_bulk_init(struct m0_rpc_bulk *rbulk)
void m0_fom_phase_move(struct m0_fom *fom, int32_t rc, int phase)
const struct m0_bob_type m0_confd_bob
#define bob_of(ptr, type, field, bt)
struct m0_net_buf_desc_data clf_desc
int m0_confd_stob_init(struct m0_stob **stob, const char *location, struct m0_fid *confd_fid)
static struct m0_stob_domain * dom
int m0_confd_stob_bufvec_write(struct m0_stob *stob, struct m0_bufvec *bufvec)
static void conf_load_fom_fini(struct m0_fom *fom)
static int conf_buffer_free(struct m0_fom *)
struct m0_rpc_bulk clm_bulk
struct m0_sm_state_descr conf_load_phases[]
static uint64_t min64u(uint64_t a, uint64_t b)
M0_INTERNAL void m0_bufvec_free_aligned(struct m0_bufvec *bufvec, unsigned shift)
struct m0_fop * m0_fop_reply_alloc(struct m0_fop *req, struct m0_fop_type *rept)
struct m0_conf_cache * d_cache
M0_INTERNAL bool m0_is_conf_load_fop(const struct m0_fop *fop)
#define M0_ALLOC_PTR(ptr)
static int conf_zero_copy_initiate(struct m0_fom *)
struct m0_net_domain * m0_fop_domain_get(const struct m0_fop *fop)
struct m0_sm_conf conf_load_conf
struct m0_rpc_session * ri_session
M0_INTERNAL int m0_fom_rc(const struct m0_fom *fom)
static struct m0_fop * fop
M0_INTERNAL void m0_fom_callback_cancel(struct m0_fom_callback *cb)
struct m0_net_buf_desc bdd_desc
void(* fo_fini)(struct m0_fom *fom)
struct m0_fop * fo_rep_fop
void m0_fom_phase_set(struct m0_fom *fom, int phase)
const struct m0_net_buffer_callbacks m0_rpc__buf_bulk_cb
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)
static int conf_net_buffer_allocate(struct m0_fom *)
const struct m0_fom_ops conf_load_fom_ops
struct m0_rpc_item f_item
static int conf_prepare(struct m0_fom *)
struct m0_rpc_conn * s_conn
M0_INTERNAL struct m0_fop_conf_load_rep * m0_conf_fop_to_load_fop_rep(const struct m0_fop *fop)
M0_INTERNAL int m0_conf_load_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
#define M0_IMPOSSIBLE(fmt,...)
M0_TL_DESCR_DECLARE(rpcbulk, M0_EXTERN)