25 #ifndef __MOTR_STOB_AD_INTERNAL_H__ 26 #define __MOTR_STOB_AD_INTERNAL_H__ 34 #include "stob/stob_xc.h" 106 uint64_t alloc_zone);
struct m0_ad_balloc_ops M0_XCA_DOMAIN
M0_BASSERT(sizeof(M0_FIELD_VALUE(struct m0_stob_ad_domain, sad_path)) % 8==0)
int(* bo_alloc)(struct m0_ad_balloc *ballroom, struct m0_dtx *dtx, m0_bcount_t count, struct m0_ext *out, uint64_t alloc_zone)
int const char const void size_t int flags
#define M0_FIELD_VALUE(type, field)
static struct m0_sm_group * grp
struct m0_stob_io * ai_fore
int(* bo_init)(struct m0_ad_balloc *ballroom, struct m0_be_seg *db, uint32_t bshift, m0_bcount_t container_size, m0_bcount_t blocks_per_group, m0_bcount_t spare_blocks_per_group)
M0_INTERNAL bool m0_stob_ad_domain__invariant(struct m0_stob_ad_domain *adom)
m0_bcount_t sad_container_size
const struct m0_stob_type m0_stob_ad_type
static struct m0_be_emap_cursor it
M0_INTERNAL void m0_stob_ad_balloc_set(struct m0_stob_io *io, uint64_t flags)
const struct m0_ad_balloc_ops * ab_ops
m0_stob_ad_domain_format_version
char adm_path[MAXPATHLEN]
M0_INTERNAL int stob_ad_cursor(struct m0_stob_ad_domain *adom, struct m0_stob *obj, uint64_t offset, struct m0_be_emap_cursor *it)
M0_INTERNAL void m0_stob_ad_init_cfg_make(char **str, struct m0_be_domain *dom)
struct m0_stob_ad_domain * adm_dom
struct m0_ad_balloc * sad_ballroom
struct m0_be_seg * sad_be_seg
static struct m0_stob_domain * dom
M0_INTERNAL void * m0_stob_ad_get_checksum_addr(struct m0_stob_io *io, m0_bindex_t off)
void(* bo_free_credit)(const struct m0_ad_balloc *ballroom, int nr, struct m0_be_tx_credit *accum)
struct m0_stob_id sad_bstore_id
static m0_bindex_t offset
int(* bo_free)(struct m0_ad_balloc *ballroom, struct m0_dtx *dtx, struct m0_ext *ext)
void(* bo_fini)(struct m0_ad_balloc *ballroom)
static struct m0_stob_io io
char sad_path[AD_PATHLEN]
struct m0_stob * sad_bstore
struct m0_be_emap sad_adata
stob_ad_allocation_extent_type
M0_INTERNAL void m0_stob_ad_balloc_clear(struct m0_stob_io *io)
m0_bcount_t sad_spare_blocks_per_group
int(* bo_reserve_extent)(struct m0_ad_balloc *ballroom, struct m0_be_tx *tx, struct m0_ext *ext, uint64_t alloc_zone)
M0_INTERNAL m0_bcount_t m0_stob_ad_spares_calc(m0_bcount_t grp_blocks)
struct m0_format_header sad_header
struct m0_format_footer sad_footer
M0_INTERNAL struct m0_balloc * m0_stob_ad_domain2balloc(const struct m0_stob_domain *dom)
static struct m0_be_seg * seg
M0_INTERNAL void m0_stob_ad_cfg_make(char **str, const struct m0_be_seg *seg, const struct m0_stob_id *bstore_id, const m0_bcount_t size)
m0_bcount_t sad_blocks_per_group
struct m0_tlink adm_linkage
struct m0_stob_io ai_back
void(* bo_alloc_credit)(const struct m0_ad_balloc *ballroom, int nr, struct m0_be_tx_credit *accum)
static struct m0_be_ut_backend be
char sad_path[AD_PATHLEN]