23 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 59 M0_IMPOSSIBLE(
"m0_conf_dir should not be compared with m0_confx_obj");
83 _0C(
dir->cd_obj.co_nrefs > 0) &&
172 m0_conf_dir_tlist_fini(&
x->cd_items);
173 m0_conf_dir_bob_fini(
x);
184 .coo_downlinks =
NULL,
196 m0_conf_dir_bob_init(
x);
199 m0_conf_dir_tlist_init(&
x->cd_items);
208 .
ft_id = M0_CONF__DIR_FT_ID,
209 .ft_name =
"conf_dir" 217 .ft_name =
"conf relation" 220 #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 dir_ops
const struct m0_fid_type M0_CONF_RELFID_TYPE
bool(* coo_invariant)(const struct m0_conf_obj *obj)
M0_INTERNAL void m0_conf_obj_put(struct m0_conf_obj *obj)
static bool belongs(const struct m0_conf_obj *entry, const struct m0_conf_dir *dir)
static int dir_decode(struct m0_conf_obj *dest M0_UNUSED, const struct m0_confx_obj *src M0_UNUSED)
struct m0_conf_obj * co_parent
static struct m0_rpc_item * item
M0_INTERNAL bool m0_conf_obj_is_stub(const struct m0_conf_obj *obj)
M0_INTERNAL void m0_conf_obj_get(struct m0_conf_obj *obj)
#define M0_ERR_INFO(rc, fmt,...)
#define m0_tl_teardown(name, head, obj)
M0_CONF__BOB_DEFINE(m0_conf_dir, M0_CONF_DIR_MAGIC, dir_check)
const struct m0_fid_type cot_ftype
M0_CONF__INVARIANT_DEFINE(dir_invariant, m0_conf_dir)
static void dir_delete(struct m0_conf_obj *obj)
static bool dir_check(const void *bob)
#define M0_CONF_CAST(ptr, type)
static struct m0_conf_obj * dir_create(void)
M0_INTERNAL bool m0_fid_eq(const struct m0_fid *fid0, const struct m0_fid *fid1)
#define M0_ALLOC_PTR(ptr)
static bool readdir_pre(const struct m0_conf_dir *dir, const struct m0_conf_obj *entry)
static int dir_lookup(const struct m0_conf_obj *parent, const struct m0_fid *name, struct m0_conf_obj **out)
M0_ENTRY("Setting %.*s's xattr %s=%.*s", dentry->d_name.len,(char *) dentry->d_name.name, name,(int) size,(char *) value)
static int dir_readdir(const struct m0_conf_obj *dir, struct m0_conf_obj **pptr)
enum m0_conf_status co_status
static bool dir_match(const struct m0_conf_obj *cached M0_UNUSED, const struct m0_confx_obj *flat M0_UNUSED)
static int dir_encode(struct m0_confx_obj *dest M0_UNUSED, const struct m0_conf_obj *src M0_UNUSED)
#define m0_tl_find(name, var, head,...)
const struct m0_conf_obj_type M0_CONF_DIR_TYPE
struct m0_pdclust_src_addr src
M0_INTERNAL bool m0_conf_obj_invariant(const struct m0_conf_obj *obj)
static bool readdir_post(int retval, const struct m0_conf_dir *dir, const struct m0_conf_obj *entry)
const struct m0_conf_obj_ops * co_ops
#define M0_IMPOSSIBLE(fmt,...)