Lines Matching refs:_cache
54 } _cache; variable
56 #define _alloc(x) dm_pool_zalloc(_cache.mem, (x))
57 #define _free(x) dm_pool_free(_cache.mem, (x))
58 #define _strdup(x) dm_pool_strdup(_cache.mem, (x))
147 if (_cache.preferred_names_matcher) in dev_set_preferred_name()
168 if (_cache.preferred_names_matcher) { in _compare_paths()
169 m0 = dm_regex_match(_cache.preferred_names_matcher, path0); in _compare_paths()
170 m1 = dm_regex_match(_cache.preferred_names_matcher, path1); in _compare_paths()
258 if (!(sl->str = dm_pool_strdup(_cache.mem, path))) in _add_alias()
290 if (dm_hash_lookup(_cache.names, path)) in _insert_dev()
297 if (!(dev = (struct device *) btree_lookup(_cache.devices, in _insert_dev()
306 if (!(btree_insert(_cache.devices, (uint32_t) d, dev))) { in _insert_dev()
318 if (!dm_hash_insert(_cache.names, path, dev)) { in _insert_dev()
466 if (_cache.has_scanned && !dev_scan) in _full_scan()
469 dm_list_iterate_items(dl, &_cache.dirs) in _full_scan()
472 dm_list_iterate_items(dl, &_cache.files) in _full_scan()
475 _cache.has_scanned = 1; in _full_scan()
481 return _cache.has_scanned; in dev_cache_has_scanned()
487 _cache.has_scanned = 1; in dev_cache_scan()
501 _cache.preferred_names_matcher = NULL; in _init_preferred_names()
536 if (!(_cache.preferred_names_matcher = in _init_preferred_names()
537 dm_regex_create(_cache.mem,(const char **) regex, count))) { in _init_preferred_names()
552 _cache.names = NULL; in dev_cache_init()
553 _cache.has_scanned = 0; in dev_cache_init()
555 if (!(_cache.mem = dm_pool_create("dev_cache", 10 * 1024))) in dev_cache_init()
558 if (!(_cache.names = dm_hash_create(128))) { in dev_cache_init()
559 dm_pool_destroy(_cache.mem); in dev_cache_init()
560 _cache.mem = 0; in dev_cache_init()
564 if (!(_cache.devices = btree_create(_cache.mem))) { in dev_cache_init()
569 dm_list_init(&_cache.dirs); in dev_cache_init()
570 dm_list_init(&_cache.files); in dev_cache_init()
590 dm_hash_iter(_cache.names, (dm_hash_iterate_fn) _check_closed); in _check_for_open_devices()
595 if (_cache.names) in dev_cache_exit()
598 if (_cache.preferred_names_matcher) in dev_cache_exit()
599 _cache.preferred_names_matcher = NULL; in dev_cache_exit()
601 if (_cache.mem) { in dev_cache_exit()
602 dm_pool_destroy(_cache.mem); in dev_cache_exit()
603 _cache.mem = NULL; in dev_cache_exit()
606 if (_cache.names) { in dev_cache_exit()
607 dm_hash_destroy(_cache.names); in dev_cache_exit()
608 _cache.names = NULL; in dev_cache_exit()
611 _cache.devices = NULL; in dev_cache_exit()
612 _cache.has_scanned = 0; in dev_cache_exit()
613 dm_list_init(&_cache.dirs); in dev_cache_exit()
614 dm_list_init(&_cache.files); in dev_cache_exit()
639 dm_list_add(&_cache.dirs, &dl->list); in dev_cache_add_dir()
665 dm_list_add(&_cache.files, &dl->list); in dev_cache_add_loopfile()
701 dm_hash_remove(_cache.names, name); in dev_name_confirmed()
725 struct device *d = (struct device *) dm_hash_lookup(_cache.names, name); in dev_cache_get()
732 dm_hash_remove(_cache.names, name); in dev_cache_get()
738 d = (struct device *) dm_hash_lookup(_cache.names, name); in dev_cache_get()
741 d = (struct device *) dm_hash_lookup(_cache.names, name); in dev_cache_get()
765 di->current = btree_first(_cache.devices); in dev_iter_create()