| 
    nfs-ganesha 1.4 
   | 
 
Definitions supporting AVL dirent representation. More...
Go to the source code of this file.
Defines | |
| #define | CACHE_INODE_FLAG_NEXT_ACTIVE 0x0001 | 
Functions | |
| void | avl_dirent_set_deleted (cache_entry_t *entry, cache_inode_dir_entry_t *v) | 
| void | avl_dirent_clear_deleted (cache_entry_t *entry, cache_inode_dir_entry_t *v) | 
| void | cache_inode_avl_init (cache_entry_t *entry) | 
| int | cache_inode_avl_qp_insert (cache_entry_t *entry, cache_inode_dir_entry_t *v) | 
| cache_inode_dir_entry_t * | cache_inode_avl_lookup_k (cache_entry_t *entry, uint64_t k, uint32_t flags) | 
| cache_inode_dir_entry_t * | cache_inode_avl_qp_lookup_s (cache_entry_t *entry, cache_inode_dir_entry_t *v, int maxj) | 
Definitions supporting AVL dirent representation.
Definitions supporting AVL dirent representation. The current design represents dirents as a single AVL tree ordered by a collision-resistent hash function (currently, Murmur3, which appears to be several times faster than lookup3 on x86_64 architecture). Quadratic probing is used to emulate perfect hashing. Worst case behavior is challenging to reproduce. Heuristic methods are used to detect worst-case scenarios and fall back to tractable (e.g., lookup) algorthims.
Definition in file cache_inode_avl.h.
| #define CACHE_INODE_FLAG_NEXT_ACTIVE 0x0001 | 
Definition at line 84 of file cache_inode_avl.h.
| void avl_dirent_clear_deleted | ( | cache_entry_t * | entry, | 
| cache_inode_dir_entry_t * | v | ||
| ) | 
Definition at line 102 of file cache_inode_avl.c.
| void avl_dirent_set_deleted | ( | cache_entry_t * | entry, | 
| cache_inode_dir_entry_t * | v | ||
| ) | 
Definition at line 77 of file cache_inode_avl.c.
| void cache_inode_avl_init | ( | cache_entry_t * | entry | ) | 
Definition at line 50 of file cache_inode_avl.c.
| cache_inode_dir_entry_t* cache_inode_avl_lookup_k | ( | cache_entry_t * | entry, | 
| uint64_t | k, | ||
| uint32_t | flags | ||
| ) | 
Definition at line 233 of file cache_inode_avl.c.
| int cache_inode_avl_qp_insert | ( | cache_entry_t * | entry, | 
| cache_inode_dir_entry_t * | v | ||
| ) | 
Definition at line 187 of file cache_inode_avl.c.
| cache_inode_dir_entry_t* cache_inode_avl_qp_lookup_s | ( | cache_entry_t * | entry, | 
| cache_inode_dir_entry_t * | v, | ||
| int | maxj | ||
| ) | 
Definition at line 276 of file cache_inode_avl.c.
 1.7.3