41 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_STOB 80 while (!types_tlist_is_empty(&types->
sts_stypes)) {
149 domains_tlist_init(&
type->st_domains);
158 types_tlink_del_fini(
type);
160 domains_tlist_fini(&
type->st_domains);
166 return type->st_fidt.ft_id;
171 return type->st_fidt.ft_name;
178 domains_tlink_init_at_tail(
dom, &
type->st_domains);
186 domains_tlink_del_fini(
dom);
216 #undef M0_TRACE_SUBSYSTEM const struct m0_stob_type m0_stob_perf_type
M0_INTERNAL struct m0_stob_type * m0_stob_type_by_dom_id(const struct m0_fid *id)
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
static int stob_type_copy(const struct m0_stob_type *type, struct m0_stob_type **copy)
struct m0_stob_types stm_types
M0_INTERNAL const struct m0_fid * m0_stob_domain_id_get(const struct m0_stob_domain *dom)
M0_INTERNAL void m0_stob_type_register(struct m0_stob_type *type)
static struct m0t1fs_fsync_interactions copy
static void stob_types_destroy_list(struct m0_stob_types *types)
const struct m0_stob_type m0_stob_ad_type
M0_INTERNAL uint8_t m0_stob_type_id_get(const struct m0_stob_type *type)
M0_INTERNAL uint8_t m0_fid_tget(const struct m0_fid *fid)
M0_INTERNAL const struct m0_fid_type * m0_fid_type_get(uint8_t id)
static const struct m0_stob_type * stob_types_reg[]
M0_TL_DEFINE(domains, static, struct m0_stob_domain)
#define container_of(ptr, type, member)
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
M0_INTERNAL int m0_fid_cmp(const struct m0_fid *fid0, const struct m0_fid *fid1)
M0_INTERNAL struct m0_stob_domain * m0_stob_type__dom_find(struct m0_stob_type *type, const struct m0_fid *dom_id)
M0_INTERNAL void m0_stob_type__dom_del(struct m0_stob_type *type, struct m0_stob_domain *dom)
M0_INTERNAL void m0_fid_type_register(const struct m0_fid_type *fidt)
M0_INTERNAL void m0_stob_type__dom_add(struct m0_stob_type *type, struct m0_stob_domain *dom)
M0_INTERNAL struct m0_stob_domain * m0_stob_type__dom_find_by_location(struct m0_stob_type *type, const char *location)
static struct m0_stob_domain * dom
const struct m0_stob_type m0_stob_null_type
M0_INTERNAL void m0_mutex_init(struct m0_mutex *mutex)
M0_INTERNAL uint8_t m0_stob_type_id_by_name(const char *name)
M0_INTERNAL void m0_stob_types_fini(void)
M0_INTERNAL void m0_fid_type_unregister(const struct m0_fid_type *fidt)
M0_INTERNAL const char * m0_stob_type_name_get(struct m0_stob_type *type)
static struct m0_stob_types * stob_types_get(void)
M0_INTERNAL int m0_stob_types_init(void)
M0_INTERNAL struct m0_stob_type * m0_stob_type_by_name(const char *name)
M0_INTERNAL const char * m0_stob_domain_location_get(const struct m0_stob_domain *dom)
#define M0_ALLOC_PTR(ptr)
M0_INTERNAL void m0_mutex_fini(struct m0_mutex *mutex)
M0_TL_DESCR_DEFINE(domains, "stob domains", static, struct m0_stob_domain, sd_domain_linkage, sd_magic, M0_STOB_DOMAINS_MAGIC, M0_STOB_DOMAINS_HEAD_MAGIC)
struct m0_tlink st_type_linkage
M0_INTERNAL struct m0_stob_module * m0_stob_module__get(void)
#define m0_tl_find(name, var, head,...)
const struct m0_stob_type m0_stob_linux_type
M0_INTERNAL void m0_stob_type_deregister(struct m0_stob_type *type)
struct m0_fid_type st_fidt