39 const struct m0_fid *path);
53 M0_CONF_ROOT_NODES_FID, M0_CONF_ANY_FID,
54 M0_CONF_NODE_PROCESSES_FID, M0_CONF_ANY_FID,
55 M0_CONF_PROCESS_SERVICES_FID, M0_CONF_ANY_FID);
69 M0_CONF_POOL_PVERS_FID, M0_CONF_ANY_FID,
70 M0_CONF_PVER_SITEVS_FID, M0_CONF_ANY_FID,
71 M0_CONF_SITEV_RACKVS_FID, M0_CONF_ANY_FID,
72 M0_CONF_RACKV_ENCLVS_FID, M0_CONF_ANY_FID,
73 M0_CONF_ENCLV_CTRLVS_FID, M0_CONF_ANY_FID,
74 M0_CONF_CTRLV_DRIVEVS_FID, M0_CONF_ANY_FID);
83 M0_CONF_ROOT_POOLS_FID, M0_CONF_ANY_FID,
84 M0_CONF_POOL_PVERS_FID, M0_CONF_ANY_FID,
85 M0_CONF_PVER_SITEVS_FID, M0_CONF_ANY_FID,
86 M0_CONF_SITEV_RACKVS_FID, M0_CONF_ANY_FID,
87 M0_CONF_RACKV_ENCLVS_FID, M0_CONF_ANY_FID,
88 M0_CONF_ENCLV_CTRLVS_FID, M0_CONF_ANY_FID,
89 M0_CONF_CTRLV_DRIVEVS_FID, M0_CONF_ANY_FID);
100 M0_CONF_POOL_PVERS_FID, M0_CONF_ANY_FID);
110 M0_CONF_ROOT_NODES_FID, M0_CONF_ANY_FID,
112 M0_CONF_PROCESS_SERVICES_FID, M0_CONF_ANY_FID);
132 const struct m0_fid missing[] = {
151 " <4474700000000001:0>/<7000000000000001:7>"));
159 M0_CONF_ROOT_PROFILES_FID,
profile);
164 " <7000000000000001:0>"));
175 M0_CONF_ROOT_NODES_FID, M0_CONF_ANY_FID,
176 M0_CONF_NODE_PROCESSES_FID, M0_CONF_ANY_FID,
177 M0_CONF_PROCESS_SERVICES_FID, M0_CONF_ANY_FID,
178 M0_CONF_SERVICE_SDEVS_FID, M0_CONF_ANY_FID);
204 M0_PRE(M0_IN(errcode, (-EPERM, -ENOENT)));
211 .ee_objid = &
obj->co_id,
212 .ee_elem = errcode == -ENOENT ? path :
NULL
M0_INTERNAL int m0_conf_ut_cache_init(void)
#define m0_conf_glob_init(glob, flags, errfunc, cache, origin,...)
M0_INTERNAL struct m0_conf_obj * m0_conf_cache_lookup(const struct m0_conf_cache *cache, const struct m0_fid *id)
#define m0_exists(var, nr,...)
static int conf_glob_ut_fini(void)
static void test_conf_glob(void)
static void test_conf_glob_errors(void)
struct m0_conf_cache m0_conf_ut_cache
#define M0_FID_TINIT(type, container, key)
struct m0_ut_suite conf_glob_ut
M0_INTERNAL char * m0_conf_glob_error(const struct m0_conf_glob *glob, char *buf, size_t buflen)
static int errfunc(int errcode, const struct m0_conf_obj *obj, const struct m0_fid *path)
M0_INTERNAL int m0_conf_ut_cache_fini(void)
static int conf_glob_ut_init(void)
#define M0_CONF_CAST(ptr, type)
M0_INTERNAL bool m0_fid_eq(const struct m0_fid *fid0, const struct m0_fid *fid1)
#define m0_forall(var, nr,...)
static struct m0_fid profile
const struct m0_fid * ee_objid
static struct err_entry g_err_accum[8]
const struct m0_fid * ee_elem
M0_INTERNAL void m0_conf_ut_cache_from_file(struct m0_conf_cache *cache, const char *path)
enum m0_conf_status co_status
M0_INTERNAL int m0_conf_glob(struct m0_conf_glob *glob, uint32_t nr, const struct m0_conf_obj **objv)
M0_INTERNAL void m0_conf_cache_lock(struct m0_conf_cache *cache)
M0_INTERNAL void m0_conf_cache_unlock(struct m0_conf_cache *cache)