22 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 26 #include "conf/onwire_xc.h" 29 #define XCAST(xobj) ((struct m0_confx_site *)(&(xobj)->xo_u)) 53 &
s->xi_racks),
dest) ?:
87 {
r->ct_racks, &M0_CONF_SITE_RACKS_FID } };
95 static const struct m0_fid *rels[] = { &M0_CONF_SITE_RACKS_FID,
NULL };
103 m0_conf_site_bob_fini(
x);
123 .
ft_id = M0_CONF__SITE_FT_ID,
124 .ft_name =
"conf_site" 126 .cot_create = &site_create,
127 .cot_xt = &m0_confx_site_xc,
128 .cot_branch =
"u_site",
129 .cot_xc_init = &m0_xc_m0_confx_site_struct_init,
134 #undef M0_TRACE_SUBSYSTEM const struct m0_conf_obj_type * m0_conf_obj_type(const struct m0_conf_obj *obj)
M0_INTERNAL int conf_dirs_encode(const struct conf_dir_encoding_pair *how, size_t how_nr)
M0_CONF__CTOR_DEFINE(site_create, m0_conf_site, &site_ops)
M0_INTERNAL int conf_dirs_lookup(struct m0_conf_obj **out, const struct m0_fid *name, const struct conf_dir_relation *rels, size_t nr_rels)
static int site_decode(struct m0_conf_obj *dest, const struct m0_confx_obj *src)
#define CONF_DIR_ENTRIES(relfid, entry_type, entries)
const struct m0_conf_obj_type M0_CONF_SITE_TYPE
M0_BASSERT(offsetof(struct m0_confx_site, xi_header)==0)
static void site_delete(struct m0_conf_obj *obj)
bool(* coo_invariant)(const struct m0_conf_obj *obj)
struct m0_fid_arr xi_racks
struct m0_confx_header xi_header
M0_CONF__BOB_DEFINE(m0_conf_site, M0_CONF_SITE_MAGIC, site_check)
M0_INTERNAL int conf_pvers_decode(struct m0_conf_pver ***dest, const struct m0_fid_arr *src, struct m0_conf_cache *cache)
const struct m0_fid_type cot_ftype
struct m0_conf_pver ** ct_pvers
M0_INTERNAL int conf_pvers_encode(struct m0_fid_arr *dest, const struct m0_conf_pver **src)
static int site_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
M0_INTERNAL void confx_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
#define M0_CONF_CAST(ptr, type)
M0_CONF__INVARIANT_DEFINE(site_invariant, m0_conf_site)
static const struct m0_fid ** site_downlinks(const struct m0_conf_obj *obj)
static bool site_match(const struct m0_conf_obj *cached, const struct m0_confx_obj *flat)
struct m0_fid_arr xi_pvers
enum m0_conf_status co_status
struct m0_conf_dir * ct_racks
M0_CONF_REL_FIDS M0_INTERNAL int dir_create_and_populate(struct m0_conf_dir **result, const struct conf_dir_entries *de, struct m0_conf_obj *dir_parent)
static const struct m0_conf_obj_ops site_ops
static bool site_check(const void *bob)
static int site_lookup(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
static struct m0_addb2_source * s
M0_INTERNAL bool m0_conf_dir_elems_match(const struct m0_conf_dir *dir, const struct m0_fid_arr *fids)
struct m0_pdclust_src_addr src
#define offsetof(typ, memb)
const struct m0_conf_obj_type M0_CONF_RACK_TYPE