25 #ifndef __MOTR_STOB_STOB_H__ 26 #define __MOTR_STOB_STOB_H__ 37 #include "fid/fid_xc.h" 41 #define MAXPATHLEN 1024 108 #define STOB_ID_F "{" FID_F "," FID_F "}" 109 #define STOB_ID_P(si) FID_P(&(si)->si_domain_fid), FID_P(&(si)->si_fid) 224 const struct m0_fid *stob_fid,
231 const struct m0_fid *stob_fid,
257 const char *str_cfg);
345 const struct m0_fid *dom_id,
M0_INTERNAL struct m0_stob_domain * m0_stob_dom_get(struct m0_stob *stob)
int(* sop_punch)(struct m0_stob *stob, struct m0_indexvec *range, struct m0_dtx *dtx)
void(* sop_destroy_credit)(struct m0_stob *stob, struct m0_be_tx_credit *accum)
M0_INTERNAL int m0_stob_locate(struct m0_stob *stob)
struct m0_fid si_domain_fid
const struct m0_stob_ops * so_ops
M0_INTERNAL int m0_stob_mod_init(void)
M0_INTERNAL int m0_stob_find_by_key(struct m0_stob_domain *dom, const struct m0_fid *stob_fid, struct m0_stob **out)
struct m0_container container
int(* sop_io_init)(struct m0_stob *stob, struct m0_stob_io *io)
int(* sop_destroy)(struct m0_stob *stob, struct m0_dtx *dtx)
M0_INTERNAL const struct m0_fid * m0_stob_fid_get(struct m0_stob *stob)
struct m0_mutex so_ref_mutex
struct m0_stob_domain * so_domain
M0_INTERNAL uint32_t m0_stob_block_shift(struct m0_stob *stob)
M0_INTERNAL int m0_stob_lookup(const struct m0_stob_id *id, struct m0_stob **out)
uint32_t(* sop_block_shift)(struct m0_stob *stob)
M0_INTERNAL const struct m0_stob_id * m0_stob_id_get(struct m0_stob *stob)
enum m0_stob_state so_state
static struct m0_stob * stob
M0_INTERNAL void m0_stob_mod_fini(void)
M0_INTERNAL void m0_stob_destroy_credit(struct m0_stob *stob, struct m0_be_tx_credit *accum)
M0_INTERNAL uint64_t m0_stob_dom_id_get(struct m0_stob *stob)
int(* sop_punch_credit)(struct m0_stob *stob, struct m0_indexvec *want, struct m0_indexvec *got, struct m0_be_tx_credit *accum)
static struct m0_stob_domain * dom
M0_INTERNAL void m0_stob_id_make(uint64_t container, uint64_t key, const struct m0_fid *dom_id, struct m0_stob_id *stob_id)
M0_INTERNAL int m0_stob_lookup_by_key(struct m0_stob_domain *dom, const struct m0_fid *stob_fid, struct m0_stob **out)
struct m0_chan so_ref_chan
static struct m0_stob_io io
struct m0_stob M0_XCA_DOMAIN
M0_INTERNAL int m0_stob_create(struct m0_stob *stob, struct m0_dtx *dtx, const char *str_cfg)
M0_INTERNAL int m0_stob_punch_credit(struct m0_stob *stob, struct m0_indexvec *want, struct m0_indexvec *got, struct m0_be_tx_credit *accum)
M0_INTERNAL int m0_stob_destroy(struct m0_stob *stob, struct m0_dtx *dtx)
M0_INTERNAL enum m0_stob_state m0_stob_state_get(struct m0_stob *stob)
void(* sop_fini)(struct m0_stob *stob)
M0_INTERNAL int m0_stob_fd(struct m0_stob *stob)
M0_INTERNAL uint64_t m0_stob_id_dom_id_get(const struct m0_stob_id *stob_id)
M0_INTERNAL bool m0_stob_id_eq(const struct m0_stob_id *stob_id0, const struct m0_stob_id *stob_id1)
M0_INTERNAL int m0_stob_find(const struct m0_stob_id *id, struct m0_stob **out)
int(* sop_fd)(struct m0_stob *stob)
M0_INTERNAL void m0_stob_delete_mark(struct m0_stob *stob)
M0_INTERNAL int m0_stob_punch(struct m0_stob *stob, struct m0_indexvec *range, struct m0_dtx *dtx)
M0_INTERNAL void m0_stob_create_credit(struct m0_stob_domain *dom, struct m0_be_tx_credit *accum)
struct m0_tlink so_cache_linkage
M0_INTERNAL void m0_stob_get(struct m0_stob *stob)
M0_INTERNAL void m0_stob_put(struct m0_stob *stob)
static struct m0_be_ut_backend be