4 void mru_append(struct mru
*head
, void *item
)
6 struct mru
*cur
= xmalloc(sizeof(*cur
));
8 list_add_tail(&cur
->list
, &head
->list
);
11 void mru_mark(struct mru
*head
, struct mru
*entry
)
13 /* To mark means to put at the front of the list. */
14 list_del(&entry
->list
);
15 list_add(&entry
->list
, &head
->list
);
18 void mru_clear(struct mru
*head
)
20 struct list_head
*pos
;
21 struct list_head
*tmp
;
23 list_for_each_safe(pos
, tmp
, &head
->list
) {
24 free(list_entry(pos
, struct mru
, list
));
26 INIT_LIST_HEAD(&head
->list
);