lru_entry
static void lru_insert(struct lru *lru, struct lru_entry *le)
static inline struct lru_entry *to_le(struct list_head *l)
return container_of(l, struct lru_entry, list);
typedef bool (*iter_predicate)(struct lru_entry *le, void *context);
static struct lru_entry *lru_iter_next(struct lru_iter *it,
struct lru_entry *e;
static void lru_iter_invalidate(struct lru *lru, struct lru_entry *e)
static void lru_remove(struct lru *lru, struct lru_entry *le)
static bool is_writing(struct lru_entry *e, void *context)
struct lru_entry *e;
static inline void lru_reference(struct lru_entry *le)
typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context);
static struct lru_entry *lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep)
struct lru_entry *le;
struct lru_entry lru;
static inline struct dm_buffer *le_to_buffer(struct lru_entry *le)
struct lru_entry *le = list_entry(l, struct lru_entry, list);
static enum evict_result __evict_pred(struct lru_entry *le, void *context)
struct lru_entry *le;
struct lru_entry *le;
struct lru_entry *le, *first;
struct lru_entry *stop;
struct lru_entry *e;
INIT_LIST_HEAD(&info->lru_entry);
if (info->cache->lru_list.prev != &info->lru_entry)
list_move_tail(&info->lru_entry, &info->cache->lru_list);
list_del_init(&info->lru_entry);
list_for_each_entry(info, &cache->lru_list, lru_entry)
struct list_head lru_entry;
struct btrfs_lru_cache_entry *lru_entry;
lru_entry = list_first_entry(&cache->lru_list,
btrfs_lru_cache_remove(cache, lru_entry);