Blame view

include/linux/mbcache.h 1.46 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
  /*
    File: linux/mbcache.h
  
    (C) 2001 by Andreas Gruenbacher, <a.gruenbacher@computer.org>
  */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
6
7
8
9
10
11
12
13
14
15
16
  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;
2aec7c523   Andreas Gruenbacher   mbcache: Remove u...
17
  	} e_index;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
  };
d96336b05   Josh Hunt   ext2: Resolve 'de...
19
20
21
22
23
24
25
26
27
28
  struct mb_cache {
  	struct list_head		c_cache_list;
  	const char			*c_name;
  	atomic_t			c_entry_count;
  	int				c_max_entries;
  	int				c_bucket_bits;
  	struct kmem_cache		*c_entry_cache;
  	struct list_head		*c_block_hash;
  	struct list_head		*c_index_hash;
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
29
  /* Functions on caches */
2aec7c523   Andreas Gruenbacher   mbcache: Remove u...
30
  struct mb_cache *mb_cache_create(const char *, int);
8c52ab42c   Andreas Gruenbacher   [PATCH] mbcache: ...
31
  void mb_cache_shrink(struct block_device *);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
32
33
34
  void mb_cache_destroy(struct mb_cache *);
  
  /* Functions on cache entries */
335e92e8a   Jan Kara   vfs: fix possible...
35
  struct mb_cache_entry *mb_cache_entry_alloc(struct mb_cache *, gfp_t);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36
  int mb_cache_entry_insert(struct mb_cache_entry *, struct block_device *,
2aec7c523   Andreas Gruenbacher   mbcache: Remove u...
37
  			  sector_t, unsigned int);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
38
39
40
41
42
  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);
2aec7c523   Andreas Gruenbacher   mbcache: Remove u...
43
  struct mb_cache_entry *mb_cache_entry_find_first(struct mb_cache *cache,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
44
45
  						 struct block_device *, 
  						 unsigned int);
2aec7c523   Andreas Gruenbacher   mbcache: Remove u...
46
  struct mb_cache_entry *mb_cache_entry_find_next(struct mb_cache_entry *,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
47
48
  						struct block_device *, 
  						unsigned int);