forked from luck/tmp_suning_uos_patched
2aec7c5232
The mbcache code was written to support a variable number of indexes, but all the existing users use exactly one index. Simplify to code to support only that case. There are also no users of the cache entry free operation, and none of the users keep extra data in cache entries. Remove those features as well. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/*
|
|
File: linux/mbcache.h
|
|
|
|
(C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
|
|
*/
|
|
|
|
struct mb_cache_entry {
|
|
struct list_head e_lru_list;
|
|
struct mb_cache *e_cache;
|
|
unsigned short e_used;
|
|
unsigned short e_queued;
|
|
struct block_device *e_bdev;
|
|
sector_t e_block;
|
|
struct list_head e_block_list;
|
|
struct {
|
|
struct list_head o_list;
|
|
unsigned int o_key;
|
|
} e_index;
|
|
};
|
|
|
|
/* Functions on caches */
|
|
|
|
struct mb_cache *mb_cache_create(const char *, int);
|
|
void mb_cache_shrink(struct block_device *);
|
|
void mb_cache_destroy(struct mb_cache *);
|
|
|
|
/* Functions on cache entries */
|
|
|
|
struct mb_cache_entry *mb_cache_entry_alloc(struct mb_cache *, gfp_t);
|
|
int mb_cache_entry_insert(struct mb_cache_entry *, struct block_device *,
|
|
sector_t, unsigned int);
|
|
void mb_cache_entry_release(struct mb_cache_entry *);
|
|
void mb_cache_entry_free(struct mb_cache_entry *);
|
|
struct mb_cache_entry *mb_cache_entry_get(struct mb_cache *,
|
|
struct block_device *,
|
|
sector_t);
|
|
struct mb_cache_entry *mb_cache_entry_find_first(struct mb_cache *cache,
|
|
struct block_device *,
|
|
unsigned int);
|
|
struct mb_cache_entry *mb_cache_entry_find_next(struct mb_cache_entry *,
|
|
struct block_device *,
|
|
unsigned int);
|