26 #ifndef __MOTR_BE_IO_H__ 27 #define __MOTR_BE_IO_H__ 76 #define M0_BE_IO_CREDIT(reg_nr, reg_size, part_nr) (struct m0_be_io_credit){ \ 77 .bic_reg_nr = (reg_nr), \ 78 .bic_reg_size = (reg_size), \ 79 .bic_part_nr = (part_nr), \ 82 #define BE_IOCRED_F "(reg_nr=%" PRIu64 " reg_size=%" PRIu64 \ 83 " part_nr=%" PRIu64 ")" 84 #define BE_IOCRED_P(iocred) \ 85 (iocred)->bic_reg_nr, (iocred)->bic_reg_size, (iocred)->bic_part_nr struct m0_be_io * bip_bio
struct m0_be_io_part * bio_part
struct m0_stob_io bip_sio
M0_INTERNAL m0_bcount_t m0_be_io_size(struct m0_be_io *bio)
M0_INTERNAL void m0_be_io_vec_pack(struct m0_be_io *bio)
struct m0_clink bip_clink
M0_INTERNAL void m0_be_io_sync_enable(struct m0_be_io *bio)
struct m0_tlink bio_sched_link
struct m0_be_io_credit bio_used
M0_INTERNAL void m0_be_io_configure(struct m0_be_io *bio, enum m0_stob_io_opcode opcode)
struct m0_be_op bio_sched_op
M0_INTERNAL void m0_be_io_add_nostob(struct m0_be_io *bio, void *ptr_user, m0_bindex_t offset_stob, m0_bcount_t size)
M0_INTERNAL void m0_be_io_fini(struct m0_be_io *bio)
M0_INTERNAL void * m0_be_io_user_data(struct m0_be_io *bio)
struct m0_atomic64 bio_stob_io_finished_nr
static struct m0_stob * stob
M0_INTERNAL int m0_be_io_single(struct m0_stob *stob, enum m0_stob_io_opcode opcode, void *ptr_user, m0_bindex_t offset_stob, m0_bcount_t size)
M0_INTERNAL void m0_be_io_credit_add(struct m0_be_io_credit *iocred0, const struct m0_be_io_credit *iocred1)
M0_INTERNAL void m0_be_io_stob_move(struct m0_be_io *bio, struct m0_stob *stob, m0_bindex_t offset, m0_bindex_t win_start, m0_bcount_t win_size)
struct m0_bufvec bio_bv_user
M0_INTERNAL bool m0_be_io_offset_stob_is_eq(const struct m0_be_io *bio1, const struct m0_be_io *bio2)
M0_INTERNAL int m0_be_io_init(struct m0_be_io *bio)
M0_INTERNAL bool m0_be_io_credit_le(const struct m0_be_io_credit *iocred0, const struct m0_be_io_credit *iocred1)
M0_INTERNAL bool m0_be_io_sync_is_enabled(struct m0_be_io *bio)
M0_INTERNAL bool m0_be_io_intersect(const struct m0_be_io *bio1, const struct m0_be_io *bio2)
static m0_bindex_t offset
struct m0_stob * bip_stob
static struct m0_stob_io io
enum m0_stob_io_opcode bio_opcode
M0_INTERNAL void m0_be_io_user_data_set(struct m0_be_io *bio, void *data)
M0_INTERNAL bool m0_be_io_is_empty(struct m0_be_io *bio)
struct m0_be_op * bio_sched_op_user
M0_INTERNAL bool m0_be_io_ptr_user_is_eq(const struct m0_be_io *bio1, const struct m0_be_io *bio2)
M0_INTERNAL int m0_be_io_allocate(struct m0_be_io *bio, struct m0_be_io_credit *iocred)
M0_INTERNAL void m0_be_io_deallocate(struct m0_be_io *bio)
M0_INTERNAL enum m0_stob_io_opcode m0_be_io_opcode(struct m0_be_io *io)
M0_INTERNAL bool m0_be_io__invariant(struct m0_be_io *bio)
struct m0_indexvec bio_iv_stob
struct m0_be_io_credit bio_iocred
M0_INTERNAL void m0_be_io_add(struct m0_be_io *bio, struct m0_stob *stob, void *ptr_user, m0_bindex_t offset_stob, m0_bcount_t size)
M0_INTERNAL void m0_be_io_stob_assign(struct m0_be_io *bio, struct m0_stob *stob, m0_bindex_t offset, m0_bcount_t size)
M0_INTERNAL void m0_be_io_launch(struct m0_be_io *bio, struct m0_be_op *op)
M0_INTERNAL void m0_be_io_reset(struct m0_be_io *bio)
struct m0_be_io_sched * bio_sched
M0_INTERNAL void m0_be_io_sort(struct m0_be_io *bio)