22 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 26 #include "conf/onwire_xc.h" 160 #define XCAST(xobj) ((struct m0_confx_pool *)(&(xobj)->xo_u)) 194 d->xp_pver_policy =
s->pl_pver_policy;
204 return obj->pl_pver_policy == xobj->xp_pver_policy &&
213 {
pool->pl_pvers, &M0_CONF_POOL_PVERS_FID }
222 static const struct m0_fid *rels[] = { &M0_CONF_POOL_PVERS_FID,
232 m0_conf_pool_bob_fini(
x);
251 .
ft_id = M0_CONF__POOL_FT_ID,
252 .ft_name =
"conf_pool" 254 .cot_create = &pool_create,
255 .cot_xt = &m0_confx_pool_xc,
256 .cot_branch =
"u_pool",
257 .cot_xc_init = &m0_xc_m0_confx_pool_struct_init,
262 #undef M0_TRACE_SUBSYSTEM const struct m0_conf_obj_type * m0_conf_obj_type(const struct m0_conf_obj *obj)
static const struct m0_conf_obj_ops pool_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)
struct m0_fid_arr xp_pvers
static int pool_decode(struct m0_conf_obj *dest, const struct m0_confx_obj *src)
static void pool_delete(struct m0_conf_obj *obj)
const struct m0_conf_obj_type M0_CONF_PVER_TYPE
static int pool_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
bool(* coo_invariant)(const struct m0_conf_obj *obj)
static bool pool_check(const void *bob)
const struct m0_conf_obj_type M0_CONF_POOL_TYPE
M0_INTERNAL int m0_conf_dir_new(struct m0_conf_obj *parent, const struct m0_fid *relfid, const struct m0_conf_obj_type *children_type, const struct m0_fid_arr *children_ids, struct m0_conf_dir **out)
struct m0_conf_dir * pl_pvers
const struct m0_fid_type cot_ftype
M0_CONF__BOB_DEFINE(m0_conf_pool, M0_CONF_POOL_MAGIC, pool_check)
struct m0_confx_header xp_header
M0_INTERNAL void confx_encode(struct m0_confx_obj *dest, const struct m0_conf_obj *src)
#define M0_CONF_CAST(ptr, type)
M0_INTERNAL int arrfid_from_dir(struct m0_fid_arr *dest, const struct m0_conf_dir *dir)
static bool pool_match(const struct m0_conf_obj *cached, const struct m0_confx_obj *flat)
static struct m0_pool pool
M0_CONF__CTOR_DEFINE(pool_create, m0_conf_pool, &pool_ops)
M0_BASSERT(offsetof(struct m0_confx_pool, xp_header)==0)
static int pool_lookup(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
enum m0_conf_status co_status
static const struct m0_fid ** pool_downlinks(const struct m0_conf_obj *obj)
static struct m0_addb2_source * s
M0_CONF__INVARIANT_DEFINE(pool_invariant, m0_conf_pool)
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)