28 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 129 const struct m0_fid **rels;
134 return m0_conf_dir_tlist_head(
136 rels =
obj->co_ops->coo_downlinks(
obj);
139 rc =
obj->co_ops->coo_lookup(
obj, *rels, &
x);
147 const struct m0_fid **rels;
149 bool child_found_p =
false;
153 return m0_conf_dir_tlist_next(
162 child_found_p =
true;
169 #undef M0_TRACE_SUBSYSTEM const struct m0_conf_obj_type * m0_conf_obj_type(const struct m0_conf_obj *obj)
struct m0_conf_obj * cw_origin
static struct m0_conf_obj * conf_downlink_next(const struct m0_conf_obj *parent, const struct m0_conf_obj *child)
const struct m0_conf_obj_type M0_CONF_ROOT_TYPE
struct m0_conf_cache * co_cache
struct m0_conf_obj * co_parent
M0_INTERNAL bool m0_conf_obj_is_stub(const struct m0_conf_obj *obj)
static void conf_walker_turn(struct conf_walker *w)
M0_INTERNAL int m0_conf_walk(int(*fn)(struct m0_conf_obj *obj, void *args), struct m0_conf_obj *origin, void *args)
const struct m0_fid **(* coo_downlinks)(const struct m0_conf_obj *obj)
struct m0_conf_obj * cw_cur
M0_INTERNAL bool m0_conf_cache_is_locked(const struct m0_conf_cache *cache)
#define M0_CONF_CAST(ptr, type)
static int conf_walker_down(struct conf_walker *w, void *args)
static struct m0_conf_obj * conf_downlink_first(const struct m0_conf_obj *obj)
int(* coo_lookup)(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
int(* cw_fn)(struct m0_conf_obj *obj, void *args)
#define M0_ASSERT_INFO(cond, fmt,...)
const struct m0_conf_obj_type M0_CONF_DIR_TYPE
static int conf_walker_up(struct conf_walker *w)
M0_INTERNAL bool m0_conf_obj_invariant(const struct m0_conf_obj *obj)
const struct m0_conf_obj_ops * co_ops