Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
mbcache.h
Go to the documentation of this file.
1
/*
2
File: linux/mbcache.h
3
4
(C) 2001 by Andreas Gruenbacher, <
[email protected]
>
5
*/
6
7
struct
mb_cache_entry
{
8
struct
list_head
e_lru_list
;
9
struct
mb_cache
*
e_cache
;
10
unsigned
short
e_used
;
11
unsigned
short
e_queued
;
12
struct
block_device
*
e_bdev
;
13
sector_t
e_block
;
14
struct
list_head
e_block_list
;
15
struct
{
16
struct
list_head
o_list
;
17
unsigned
int
o_key
;
18
}
e_index
;
19
};
20
21
struct
mb_cache
{
22
struct
list_head
c_cache_list
;
23
const
char
*
c_name
;
24
atomic_t
c_entry_count
;
25
int
c_max_entries
;
26
int
c_bucket_bits
;
27
struct
kmem_cache
*
c_entry_cache
;
28
struct
list_head
*
c_block_hash
;
29
struct
list_head
*
c_index_hash
;
30
};
31
32
/* Functions on caches */
33
34
struct
mb_cache
*
mb_cache_create
(
const
char
*,
int
);
35
void
mb_cache_shrink
(
struct
block_device
*);
36
void
mb_cache_destroy
(
struct
mb_cache
*);
37
38
/* Functions on cache entries */
39
40
struct
mb_cache_entry
*
mb_cache_entry_alloc
(
struct
mb_cache
*,
gfp_t
);
41
int
mb_cache_entry_insert
(
struct
mb_cache_entry
*,
struct
block_device
*,
42
sector_t
,
unsigned
int
);
43
void
mb_cache_entry_release
(
struct
mb_cache_entry
*);
44
void
mb_cache_entry_free
(
struct
mb_cache_entry
*);
45
struct
mb_cache_entry
*
mb_cache_entry_get
(
struct
mb_cache
*,
46
struct
block_device
*,
47
sector_t
);
48
struct
mb_cache_entry
*
mb_cache_entry_find_first
(
struct
mb_cache
*
cache
,
49
struct
block_device
*,
50
unsigned
int
);
51
struct
mb_cache_entry
*
mb_cache_entry_find_next
(
struct
mb_cache_entry
*,
52
struct
block_device
*,
53
unsigned
int
);
Generated on Thu Jan 10 2013 14:51:49 for Linux Kernel by
1.8.2