Motr
M0
|
Modules | |
Copy packet internal | |
Data Structures | |
struct | m0_cm_cp_fop |
struct | m0_cm_cp |
struct | m0_cm_cp_ops |
Enumerations | |
enum | { M0_CP_SIZE = 4096 } |
enum | m0_cm_cp_priority { M0_CM_CP_PRIORITY_MIN = 0, M0_CM_CP_PRIORITY_MAX = 3, M0_CM_CP_PRIORITY_NR } |
enum | m0_cm_cp_io_op { M0_CM_CP_READ, M0_CM_CP_WRITE } |
enum | m0_cm_cp_phase { M0_CCP_INIT = M0_FOM_PHASE_INIT, M0_CCP_FINI = M0_FOM_PHASE_FINISH, M0_CCP_READ, M0_CCP_WRITE_PRE, M0_CCP_TX_OPEN, M0_CCP_WRITE, M0_CCP_TX_DONE, M0_CCP_IO_WAIT, M0_CCP_XFORM, M0_CCP_SW_CHECK, M0_CCP_SEND, M0_CCP_SEND_WAIT, M0_CCP_RECV_INIT, M0_CCP_RECV_WAIT, M0_CCP_FAIL, M0_CCP_NR } |
Functions | |
M0_INTERNAL void | m0_cm_cp_init (struct m0_cm_type *cmtype, const struct m0_fom_type_ops *ft_ops) |
M0_INTERNAL bool | m0_cm_cp_invariant (const struct m0_cm_cp *cp) |
M0_INTERNAL void | m0_cm_cp_only_init (struct m0_cm *cm, struct m0_cm_cp *cp) |
M0_INTERNAL void | m0_cm_cp_fom_init (struct m0_cm *cm, struct m0_cm_cp *cp, struct m0_fop *fop, struct m0_fop *r_fop) |
M0_TL_DECLARE (rpcbulk, M0_INTERNAL, struct m0_rpc_bulk_buf) | |
M0_TL_DESCR_DECLARE (rpcbulk, M0_EXTERN) | |
M0_INTERNAL void | m0_cm_cp_only_fini (struct m0_cm_cp *cp) |
M0_INTERNAL void | m0_cm_cp_fini (struct m0_cm_cp *cp) |
M0_INTERNAL int | m0_cm_cp_enqueue (struct m0_cm *cm, struct m0_cm_cp *cp) |
M0_INTERNAL void | m0_cm_cp_buf_add (struct m0_cm_cp *cp, struct m0_net_buffer *nb) |
M0_INTERNAL void | m0_cm_cp_buf_release (struct m0_cm_cp *cp) |
M0_INTERNAL uint64_t | m0_cm_cp_nr (struct m0_cm_cp *cp) |
M0_INTERNAL int | m0_cm_cp_bufvec_merge (struct m0_cm_cp *cp) |
M0_INTERNAL int | m0_cm_cp_bufvec_split (struct m0_cm_cp *cp) |
M0_INTERNAL void | m0_cm_cp_buf_move (struct m0_cm_cp *src, struct m0_cm_cp *dest) |
M0_INTERNAL int | m0_cm_cp_dup (struct m0_cm_cp *src, struct m0_cm_cp **dest) |
M0_INTERNAL void | m0_cm_cp_data_copy (struct m0_cm_cp *src, struct m0_cm_cp *dst) |
M0_INTERNAL int | m0_cm_cp_fom_create (struct m0_fop *fop, struct m0_fop *r_fop, struct m0_fom **m, struct m0_reqh *reqh) |
M0_INTERNAL void | m0_cm_cp_fom_fini (struct m0_fom *fom) |
M0_TL_DESCR_DECLARE (cp_data_buf, M0_EXTERN) | |
M0_TL_DECLARE (cp_data_buf, M0_INTERNAL, struct m0_net_buffer) | |
Variables | |
static struct m0_sm_state_descr | m0_cm_cp_state_descr [] |
static const struct m0_sm_conf | m0_cm_cp_sm_conf |
anonymous enum |
enum m0_cm_cp_io_op |
enum m0_cm_cp_phase |
Copy packet FOM generic phases.
enum m0_cm_cp_priority |
M0_INTERNAL void m0_cm_cp_buf_add | ( | struct m0_cm_cp * | cp, |
struct m0_net_buffer * | nb | ||
) |
M0_INTERNAL void m0_cm_cp_buf_release | ( | struct m0_cm_cp * | cp | ) |
M0_INTERNAL int m0_cm_cp_bufvec_merge | ( | struct m0_cm_cp * | cp | ) |
If there are multiple network buffers associated with a copy packet, merges all corresponding bufvecs to the bufvec of first network buffer. This is required in order to use RS code APIs.
Definition at line 752 of file cp.c.
M0_INTERNAL int m0_cm_cp_bufvec_split | ( | struct m0_cm_cp * | cp | ) |
The meta-data of the is copied to and the data buffers are detached from and attached to to avoid data copy. After this call, is no longer usable and should be finalized immediately to avoid misuse.
Definition at line 805 of file cp.c.
M0_INTERNAL void m0_cm_cp_fini | ( | struct m0_cm_cp * | cp | ) |
M0_INTERNAL void m0_cm_cp_fom_fini | ( | struct m0_fom * | fom | ) |
M0_INTERNAL void m0_cm_cp_init | ( | struct m0_cm_type * | cmtype, |
const struct m0_fom_type_ops * | ft_ops | ||
) |
M0_INTERNAL bool m0_cm_cp_invariant | ( | const struct m0_cm_cp * | cp | ) |
M0_INTERNAL uint64_t m0_cm_cp_nr | ( | struct m0_cm_cp * | cp | ) |
M0_INTERNAL void m0_cm_cp_only_fini | ( | struct m0_cm_cp * | cp | ) |
M0_TL_DECLARE | ( | cp_data_buf | , |
M0_INTERNAL | , | ||
struct m0_net_buffer | |||
) |
M0_TL_DECLARE | ( | rpcbulk | , |
M0_INTERNAL | , | ||
struct m0_rpc_bulk_buf | |||
) |
M0_TL_DESCR_DECLARE | ( | cp_data_buf | , |
M0_EXTERN | |||
) |
M0_TL_DESCR_DECLARE | ( | rpcbulk | , |
M0_EXTERN | |||
) |
|
static |
|
static |