22 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 26 #include "conf/onwire_xc.h" 29 #define XCAST(xobj) ((struct m0_confx_rack *)(&(xobj)->xo_u)) 54 &
s->xr_encls),
dest) ?:
89 {
r->cr_encls, &M0_CONF_RACK_ENCLS_FID }
98 static const struct m0_fid *rels[] = { &M0_CONF_RACK_ENCLS_FID,
NULL };
106 m0_conf_rack_bob_fini(
x);
126 .
ft_id = M0_CONF__RACK_FT_ID,
127 .ft_name =
"conf_rack" 129 .cot_create = &rack_create,
130 .cot_xt = &m0_confx_rack_xc,
131 .cot_branch =
"u_rack",
132 .cot_xc_init = &m0_xc_m0_confx_rack_struct_init,
137 #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)
static int rack_lookup(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
struct m0_conf_pver ** cr_pvers
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 void rack_delete(struct m0_conf_obj *obj)
struct m0_fid_arr xr_encls
#define CONF_DIR_ENTRIES(relfid, entry_type, entries)
bool(* coo_invariant)(const struct m0_conf_obj *obj)
static bool rack_match(const struct m0_conf_obj *cached, const struct m0_confx_obj *flat)
static int rack_decode(struct m0_conf_obj *dest, const struct m0_confx_obj *src)
M0_CONF__INVARIANT_DEFINE(rack_invariant, m0_conf_rack)
static int rack_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
M0_INTERNAL int conf_pvers_decode(struct m0_conf_pver ***dest, const struct m0_fid_arr *src, struct m0_conf_cache *cache)
M0_CONF__CTOR_DEFINE(rack_create, m0_conf_rack, &rack_ops)
struct m0_fid_arr xr_pvers
const struct m0_conf_obj_type M0_CONF_ENCLOSURE_TYPE
const struct m0_fid_type cot_ftype
M0_INTERNAL int conf_pvers_encode(struct m0_fid_arr *dest, const struct m0_conf_pver **src)
struct m0_confx_header xr_header
M0_INTERNAL void confx_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
#define M0_CONF_CAST(ptr, type)
M0_CONF__BOB_DEFINE(m0_conf_rack, M0_CONF_RACK_MAGIC, rack_check)
static const struct m0_conf_obj_ops rack_ops
enum m0_conf_status co_status
struct m0_conf_dir * cr_encls
static const struct m0_fid ** rack_downlinks(const struct m0_conf_obj *obj)
M0_BASSERT(offsetof(struct m0_confx_rack, xr_header)==0)
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 bool rack_check(const void *bob)
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