22 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_CONF 96 return M0_ERR(-EOPNOTSUPP);
193 int (*apply)(
size_t *
n,
struct m0_confx *enc,
229 for (entry =
NULL; (
rc =
cur->co_ops->coo_readdir(
cur, &entry)) > 0; ) {
233 rc = apply(
n, enc, entry);
268 const struct m0_fid *origin,
290 if (
rc != 0 ||
nr == 0)
300 (
char *)(
nr > 1 ?
"s" :
""));
310 #undef M0_TRACE_SUBSYSTEM const struct m0_conf_obj_type * m0_conf_obj_type(const struct m0_conf_obj *obj)
void m0_fom_phase_moveif(struct m0_fom *fom, int32_t rc, int phase0, int phase1)
uint32_t m0_fop_opcode(const struct m0_fop *fop)
#define M0_ALLOC_ARR(arr, nr)
M0_INTERNAL void m0_confx_free(struct m0_confx *enc)
static struct m0_semaphore q
static struct m0_addb2_mach * m
static struct buffer * cur(struct m0_addb2_mach *mach, m0_bcount_t space)
static const struct m0_fom_ops conf_update_fom_ops
M0_INTERNAL struct m0_conf_obj * m0_conf_cache_lookup(const struct m0_conf_cache *cache, const struct m0_fid *id)
#define M0_LOG(level,...)
struct m0_reqh_service d_reqh
M0_INTERNAL void m0_conf_obj_put(struct m0_conf_obj *obj)
void * m0_fop_data(const struct m0_fop *fop)
static int confd_path_walk(struct m0_conf_obj *cur, const struct m0_fid_arr *path, int(*apply)(size_t *n, struct m0_confx *enc, const struct m0_conf_obj *obj), size_t *n, struct m0_confx *enc)
#define M0_CONFX_AT(cx, idx)
#define container_of(ptr, type, member)
M0_INTERNAL bool m0_conf_obj_is_stub(const struct m0_conf_obj *obj)
struct m0_fom_type ft_fom_type
void m0_fom_init(struct m0_fom *fom, const struct m0_fom_type *fom_type, const struct m0_fom_ops *ops, struct m0_fop *fop, struct m0_fop *reply, struct m0_reqh *reqh)
M0_INTERNAL void m0_conf_obj_get(struct m0_conf_obj *obj)
struct m0_fop_type * f_type
#define M0_ERR_INFO(rc, fmt,...)
struct m0_conf_root * root
return M0_ERR(-EOPNOTSUPP)
int m0_fom_tick_generic(struct m0_fom *fom)
void m0_fom_fini(struct m0_fom *fom)
M0_INTERNAL int m0_confd_fom_create(struct m0_fop *fop, struct m0_fom **out, struct m0_reqh *reqh)
void m0_fom_phase_move(struct m0_fom *fom, int32_t rc, int phase)
const struct m0_bob_type m0_confd_bob
#define bob_of(ptr, type, field, bt)
M0_INTERNAL bool m0_conf_cache_is_locked(const struct m0_conf_cache *cache)
#define M0_CONF_CAST(ptr, type)
static size_t confd_fom_locality(const struct m0_fom *fom)
static int conf_update_tick(struct m0_fom *fom)
M0_INTERNAL size_t m0_confx_sizeof(void)
static int _count(size_t *n, struct m0_confx *enc M0_UNUSED, const struct m0_conf_obj *obj M0_UNUSED)
struct m0_fop * m0_fop_reply_alloc(struct m0_fop *req, struct m0_fop_type *rept)
struct m0_conf_cache * d_cache
static struct m0_conf_obj * confd_cache_lookup(const struct m0_conf_cache *cache, const struct m0_fid *fid)
size_t(* fo_home_locality)(const struct m0_fom *fom)
static int conf_fetch_tick(struct m0_fom *fom)
#define M0_ALLOC_PTR(ptr)
const struct m0_fid M0_CONF_ROOT_FID
static const struct m0_fom_ops conf_fetch_fom_ops
static int _encode(size_t *n, struct m0_confx *enc, const struct m0_conf_obj *obj)
static void confd_fom_fini(struct m0_fom *fom)
static void cache_ver_update(struct m0_conf_cache *cache)
static struct m0_fop * fop
struct m0_fop_type m0_conf_fetch_resp_fopt
static int confx_populate(struct m0_confx *dest, const struct m0_fid *origin, const struct m0_fid_arr *path, struct m0_conf_cache *cache)
static int readiness_check(const struct m0_conf_obj *obj)
M0_INTERNAL void m0_conf_cache_lock(struct m0_conf_cache *cache)
const struct m0_conf_obj_type M0_CONF_DIR_TYPE
M0_INTERNAL void m0_conf_cache_unlock(struct m0_conf_cache *cache)
M0_INTERNAL bool m0_conf_obj_invariant(const struct m0_conf_obj *obj)
#define M0_IMPOSSIBLE(fmt,...)