23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_FOP 33 #include "fop/fop_xc.h" 36 #include "fop/fom_generic_xc.h" 167 (
unsigned long long)
count, (
unsigned long long)
count + 1);
182 (
unsigned long long)
count, (
unsigned long long)
count - 1);
240 ft_tlink_del_fini(fopt);
325 "fop generic record frag");
457 return s->s_conn->c_rpc_machine;
465 uint64_t mask = ((uint64_t)
rt->rit_opcode) << 12;
468 return (
ft->ft_conf.scf_name !=
NULL ?
505 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL int m0_xcode_encdec(struct m0_xcode_obj *obj, struct m0_bufvec_cursor *cur, enum m0_xcode_what what)
const struct m0_rpc_item_type_ops m0_fop_default_item_type_ops
uint32_t m0_fop_opcode(const struct m0_fop *fop)
M0_INTERNAL void m0_sm_conf_init(struct m0_sm_conf *conf)
const struct m0_xcode_type * xf_type
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
#define M0_FOL_FRAG_TYPE_INIT(frag, name)
M0_TL_DEFINE(ft, static, struct m0_fop_type)
M0_INTERNAL int m0_sm_addb2_init(struct m0_sm_conf *conf, uint64_t id, uint64_t counter)
static size_t fop_data_size(const struct m0_fop *fop)
static struct buffer * cur(struct m0_addb2_mach *mach, m0_bcount_t space)
const struct m0_rpc_item_type_ops * rit_ops
M0_INTERNAL int m0_fol_frag_type_register(struct m0_fol_frag_type *type)
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 *))
#define M0_LOG(level,...)
static struct m0_mutex fop_types_lock
void fop_release(struct m0_ref *ref)
const struct m0_xcode_type * ft_xt
void m0_fop_type_addb2_deinstrument(struct m0_fop_type *type)
M0_EXTERN struct m0_sm_conf fom_states_conf
M0_INTERNAL void m0_fol_frag_init(struct m0_fol_frag *frag, void *data, const struct m0_fol_frag_type *type)
struct m0_net_domain * ntm_dom
void * m0_fop_data(const struct m0_fop *fop)
void m0_fop_type_fini(struct m0_fop_type *fopt)
struct m0_xcode_field xct_child[0]
M0_INTERNAL void m0_xcode_free_obj(struct m0_xcode_obj *obj)
static struct m0_addb2_mach * mach
#define container_of(ptr, type, member)
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
static struct m0_xcode_type ** xt[]
M0_INTERNAL void m0_rpc_item_type_register(struct m0_rpc_item_type *item_type)
void m0_rpc_item_init(struct m0_rpc_item *item, const struct m0_rpc_item_type *itype)
static struct m0_rpc_item * item
struct m0_fop_getxattr_rep * rep
M0_INTERNAL struct m0_fop_type * m0_fop_type_next(struct m0_fop_type *ftype)
struct m0_fol_frag_type m0_fop_fol_frag_type
M0_INTERNAL void m0_fops_fini(void)
struct m0_fom_type ft_fom_type
const struct m0_fol_frag_type_ops * rpt_ops
void m0_rpc_item_fini(struct m0_rpc_item *item)
M0_INTERNAL bool m0_rpc_machine_is_locked(const struct m0_rpc_machine *machine)
void m0_fop_put0_lock(struct m0_fop *fop)
void m0_fop_rpc_machine_set(struct m0_fop *fop, struct m0_rpc_machine *mach)
struct m0_fop_type * f_type
M0_INTERNAL void m0_ref_put(struct m0_ref *ref)
struct m0_rpc_machine * m0_fop_rpc_machine(const struct m0_fop *fop)
void m0_ref_init(struct m0_ref *ref, int init_num, void(*release)(struct m0_ref *ref))
return M0_ERR(-EOPNOTSUPP)
M0_INTERNAL const char * m0_fop_name(const struct m0_fop *fop)
M0_INTERNAL void m0_ref_get(struct m0_ref *ref)
static int fop_xc_type(uint32_t opcode, const struct m0_xcode_type **out)
M0_INTERNAL void m0_rpc_machine_unlock(struct m0_rpc_machine *machine)
M0_INTERNAL bool m0_fop_rpc_is_locked(struct m0_fop *fop)
M0_INTERNAL int m0_fop_fol_add(struct m0_fop *fop, struct m0_fop *rep, struct m0_dtx *dtx)
const struct m0_xcode_type * rpt_xt
struct __m0_fop_type_init_args tb_args
M0_INTERNAL int m0_fop_rep_xc_type(const struct m0_xcode_obj *par, const struct m0_xcode_type **out)
struct m0_net_transfer_mc rm_tm
struct m0_rpc_machine * m0_fop_session_machine(const struct m0_rpc_session *s)
M0_INTERNAL void m0_fom_type_init(struct m0_fom_type *type, uint64_t id, const struct m0_fom_type_ops *ops, const struct m0_reqh_service_type *svc_type, const struct m0_sm_conf *sm)
static struct rectype rt[]
struct m0_fop * m0_fop_get(struct m0_fop *fop)
void * m0_alloc(size_t size)
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
M0_INTERNAL void m0_sm_addb2_fini(struct m0_sm_conf *conf)
M0_INTERNAL struct m0_fop_type * m0_item_type_to_fop_type(const struct m0_rpc_item_type *item_type)
M0_INTERNAL int m0_fop_data_alloc(struct m0_fop *fop)
M0_INTERNAL void m0_rpc_item_type_deregister(struct m0_rpc_item_type *item_type)
struct m0_fol_rec tx_fol_rec
M0_INTERNAL void m0_fop_fini(struct m0_fop *fop)
M0_INTERNAL int m0_fops_init(void)
M0_INTERNAL int m0_fop_xc_type(const struct m0_xcode_obj *par, const struct m0_xcode_type **out)
M0_INTERNAL struct m0_fop_type * m0_fop_type_find(uint32_t opcode)
struct m0_fop * m0_fop_reply_alloc(struct m0_fop *req, struct m0_fop_type *rept)
struct m0_fop_data f_data
const struct m0_xcode_type M0_XT_U32
M0_INTERNAL int64_t m0_ref_read(const struct m0_ref *ref)
void m0_fop_type_init(struct m0_fop_type *ft, const struct __m0_fop_type_init_args *args)
M0_TL_DESCR_DEFINE(ft, "fop types", static, struct m0_fop_type, ft_linkage, ft_magix, M0_FOP_TYPE_MAGIC, M0_FOP_TYPE_HEAD_MAGIC)
M0_FOL_FRAG_TYPE_DECLARE(m0_fop_fol_frag,, NULL, NULL, NULL, NULL)
M0_INTERNAL void m0_rpc_machine_lock(struct m0_rpc_machine *machine)
M0_INTERNAL void m0_fop_release(struct m0_ref *ref)
void m0_fop_put0(struct m0_fop *fop)
#define M0_ALLOC_PTR(ptr)
struct m0_net_domain * m0_fop_domain_get(const struct m0_fop *fop)
M0_INTERNAL void m0_fol_frag_add(struct m0_fol_rec *rec, struct m0_fol_frag *frag)
int m0_fop_type_addb2_instrument(struct m0_fop_type *type)
const struct m0_fop_type_ops * ft_ops
struct m0_rpc_item * m0_fop_to_rpc_item(const struct m0_fop *fop)
struct m0_fop * m0_fop_alloc_at(struct m0_rpc_session *sess, struct m0_fop_type *fopt)
M0_INTERNAL void m0_mutex_fini(struct m0_mutex *mutex)
M0_INTERNAL void m0_fop_type_init_nr(const struct m0_fop_type_batch *batch)
void m0_fop_put_lock(struct m0_fop *fop)
static struct m0_fop * fop
M0_INTERNAL int m0_fop_encdec(struct m0_fop *fop, struct m0_bufvec_cursor *cur, enum m0_xcode_what what)
struct m0_rpc_item_type ft_rpc_item_type
struct m0_fop * m0_rpc_item_to_fop(const struct m0_rpc_item *item)
M0_INTERNAL void m0_fol_frag_type_deregister(struct m0_fol_frag_type *type)
static struct m0_fop_type * ft[]
M0_INTERNAL void m0_sm_conf_fini(struct m0_sm_conf *conf)
struct m0_rpc_machine * ri_rmachine
struct m0_fop_type * tb_type
#define M0_FOP_XCODE_OBJ(f)
M0_INTERNAL void m0_fom_ll_global_init(void)
static struct m0_addb2_source * s
void m0_fop_put(struct m0_fop *fop)
struct m0_rpc_item f_item
M0_INTERNAL void m0_fop_type_fini_nr(const struct m0_fop_type_batch *batch)
struct m0_net_transfer_mc * m0_fop_tm_get(const struct m0_fop *fop)
static struct m0_tl fop_types_list
struct m0_fop * m0_fop_alloc(struct m0_fop_type *fopt, void *data, struct m0_rpc_machine *mach)