pcache_cache_key
key_cache = KMEM_CACHE(pcache_cache_key, 0);
struct pcache_cache_key *cache_key_alloc(struct pcache_cache_tree *cache_tree, gfp_t gfp_mask);
void cache_key_init(struct pcache_cache_tree *cache_tree, struct pcache_cache_key *key);
void cache_key_get(struct pcache_cache_key *key);
void cache_key_put(struct pcache_cache_key *key);
int cache_key_append(struct pcache_cache *cache, struct pcache_cache_key *key, bool force_close);
void cache_key_insert(struct pcache_cache_tree *cache_tree, struct pcache_cache_key *key, bool fixup);
struct pcache_cache_key *key);
struct pcache_cache_key *key;
struct pcache_cache_key *pre_alloc_key;
int (*before)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
int (*after)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
int (*overlap_tail)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
#define CACHE_KEY(node) (container_of(node, struct pcache_cache_key, rb_node))
int (*overlap_head)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
int (*overlap_contain)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
int (*overlap_contained)(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
struct rb_node *cache_subtree_search(struct pcache_cache_subtree *cache_subtree, struct pcache_cache_key *key,
static inline bool cache_key_empty(struct pcache_cache_key *key)
static inline bool cache_key_clean(struct pcache_cache_key *key)
static inline void cache_key_cutfront(struct pcache_cache_key *key, u32 cut_len)
static inline void cache_key_cutback(struct pcache_cache_key *key, u32 cut_len)
static inline void cache_key_delete(struct pcache_cache_key *key)
static inline u32 cache_key_data_crc(struct pcache_cache_key *key)
static inline bool cache_key_invalid(struct pcache_cache_key *key)
static inline u64 cache_key_lstart(struct pcache_cache_key *key)
static inline u64 cache_key_lend(struct pcache_cache_key *key)
static inline void cache_key_copy(struct pcache_cache_key *key_dst, struct pcache_cache_key *key_src)
struct pcache_cache_key *key;
struct pcache_cache_key key_tmp = { 0 };
static void cache_key_gc(struct pcache_cache *cache, struct pcache_cache_key *key)
struct pcache_cache_key *cache_key_alloc(struct pcache_cache_tree *cache_tree, gfp_t gfp_mask)
struct pcache_cache_key *key;
int cache_key_append(struct pcache_cache *cache, struct pcache_cache_key *key, bool force_close)
struct pcache_cache_key *key_tmp, *key;
memset(key, 0, sizeof(struct pcache_cache_key));
struct rb_node *cache_subtree_search(struct pcache_cache_subtree *cache_subtree, struct pcache_cache_key *key,
struct pcache_cache_key *key_tmp;
key_tmp = container_of(*new, struct pcache_cache_key, rb_node);
void cache_key_get(struct pcache_cache_key *key)
static struct pcache_cache_key *get_pre_alloc_key(struct pcache_cache_subtree_walk_ctx *ctx)
struct pcache_cache_key *key;
static int fixup_overlap_tail(struct pcache_cache_key *key,
struct pcache_cache_key *key_tmp,
static int fixup_overlap_contain(struct pcache_cache_key *key,
struct pcache_cache_key *key_tmp,
static int fixup_overlap_contained(struct pcache_cache_key *key,
struct pcache_cache_key *key_tmp, struct pcache_cache_subtree_walk_ctx *ctx)
struct pcache_cache_key *key_fixup;
struct pcache_cache_key *key = container_of(ref, struct pcache_cache_key, ref);
static int fixup_overlap_head(struct pcache_cache_key *key,
struct pcache_cache_key *key_tmp, struct pcache_cache_subtree_walk_ctx *ctx)
void cache_key_insert(struct pcache_cache_tree *cache_tree, struct pcache_cache_key *key, bool fixup)
void cache_key_put(struct pcache_cache_key *key)
struct pcache_cache_key *key_tmp = NULL, *key_next;
struct pcache_cache_key *key;
struct pcache_cache_key *key;
struct pcache_cache_key *key)
struct pcache_cache_key *key;
void cache_key_init(struct pcache_cache_tree *cache_tree, struct pcache_cache_key *key)
struct pcache_cache_key *key)
struct pcache_cache_key *key;
key = (struct pcache_cache_key *)priv_data;
struct pcache_cache_key *key;
key = (struct pcache_cache_key *)backing_req->priv_data;
struct pcache_cache_key *key;
struct pcache_cache_key *key = NULL;
struct pcache_cache_key *key;
static int read_before(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
static int read_overlap_tail(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
static int cache_data_alloc(struct pcache_cache *cache, struct pcache_cache_key *key)
static int read_overlap_contain(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
static int read_overlap_contained(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
static int read_overlap_head(struct pcache_cache_key *key, struct pcache_cache_key *key_tmp,
struct pcache_cache_key *key = ctx->key;
struct pcache_cache_key key_data = { .off = pcache_req->off, .len = pcache_req->data_len };
struct pcache_cache_key *key_tmp = NULL, *key_next;
struct pcache_cache_key *key = &key_data;
struct pcache_cache_key *key;
static int cache_copy_from_req_bio(struct pcache_cache *cache, struct pcache_cache_key *key,
static void cache_key_writeback(struct pcache_cache *cache, struct pcache_cache_key *key)
struct pcache_cache_key *key;
struct pcache_cache_key *key;