Lines Matching refs:e
127 struct wb_cache_entry *e; in alloc_cache_entry() local
131 e = list_entry(list_pop(&p->free), struct wb_cache_entry, list); in alloc_cache_entry()
134 return e; in alloc_cache_entry()
159 static void insert_cache_hash_entry(struct policy *p, struct wb_cache_entry *e) in insert_cache_hash_entry() argument
161 unsigned h = hash_64(from_oblock(e->oblock), p->chash.hash_bits); in insert_cache_hash_entry()
163 hlist_add_head(&e->hlist, &p->chash.table[h]); in insert_cache_hash_entry()
166 static void remove_cache_hash_entry(struct wb_cache_entry *e) in remove_cache_hash_entry() argument
168 hlist_del(&e->hlist); in remove_cache_hash_entry()
178 struct wb_cache_entry *e; in wb_map() local
189 e = lookup_cache_entry(p, oblock); in wb_map()
190 if (e) { in wb_map()
192 result->cblock = e->cblock; in wb_map()
205 struct wb_cache_entry *e; in wb_lookup() local
211 e = lookup_cache_entry(p, oblock); in wb_lookup()
212 if (e) { in wb_lookup()
213 *cblock = e->cblock; in wb_lookup()
227 struct wb_cache_entry *e; in __set_clear_dirty() local
229 e = lookup_cache_entry(p, oblock); in __set_clear_dirty()
230 BUG_ON(!e); in __set_clear_dirty()
233 if (!e->dirty) { in __set_clear_dirty()
234 e->dirty = true; in __set_clear_dirty()
235 list_move(&e->list, &p->dirty); in __set_clear_dirty()
239 if (e->dirty) { in __set_clear_dirty()
240 e->pending = false; in __set_clear_dirty()
241 e->dirty = false; in __set_clear_dirty()
242 list_move(&e->list, &p->clean); in __set_clear_dirty()
267 static void add_cache_entry(struct policy *p, struct wb_cache_entry *e) in add_cache_entry() argument
269 insert_cache_hash_entry(p, e); in add_cache_entry()
270 if (e->dirty) in add_cache_entry()
271 list_add(&e->list, &p->dirty); in add_cache_entry()
273 list_add(&e->list, &p->clean); in add_cache_entry()
282 struct wb_cache_entry *e = alloc_cache_entry(p); in wb_load_mapping() local
284 if (e) { in wb_load_mapping()
285 e->cblock = cblock; in wb_load_mapping()
286 e->oblock = oblock; in wb_load_mapping()
287 e->dirty = false; /* blocks default to clean */ in wb_load_mapping()
288 add_cache_entry(p, e); in wb_load_mapping()
320 struct wb_cache_entry *e; in wb_remove_mapping() local
324 e = __wb_force_remove_mapping(p, oblock); in wb_remove_mapping()
325 list_add_tail(&e->list, &p->free); in wb_remove_mapping()
335 struct wb_cache_entry *e; in wb_force_mapping() local
339 e = __wb_force_remove_mapping(p, current_oblock); in wb_force_mapping()
340 e->oblock = oblock; in wb_force_mapping()
341 add_cache_entry(p, e); in wb_force_mapping()
366 struct wb_cache_entry *e; in wb_writeback_work() local
371 e = get_next_dirty_entry(p); in wb_writeback_work()
372 if (e) { in wb_writeback_work()
373 *oblock = e->oblock; in wb_writeback_work()
374 *cblock = e->cblock; in wb_writeback_work()