Rev 4553 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4553 | Rev 4572 | ||
---|---|---|---|
Line 82... | Line 82... | ||
82 | link_t hash_link; |
82 | link_t hash_link; |
83 | /** Buffer with the block data. */ |
83 | /** Buffer with the block data. */ |
84 | void *data; |
84 | void *data; |
85 | } block_t; |
85 | } block_t; |
86 | 86 | ||
- | 87 | /** Caching mode */ |
|
- | 88 | enum cache_mode { |
|
- | 89 | /** Write-Through */ |
|
- | 90 | CACHE_MODE_WT, |
|
- | 91 | /** Write-Back */ |
|
- | 92 | CACHE_MODE_WB |
|
- | 93 | }; |
|
- | 94 | ||
87 | extern int block_init(dev_handle_t, size_t); |
95 | extern int block_init(dev_handle_t, size_t); |
88 | extern void block_fini(dev_handle_t); |
96 | extern void block_fini(dev_handle_t); |
89 | 97 | ||
90 | extern int block_bb_read(dev_handle_t, off_t, size_t); |
98 | extern int block_bb_read(dev_handle_t, off_t, size_t); |
91 | extern void *block_bb_get(dev_handle_t); |
99 | extern void *block_bb_get(dev_handle_t); |
92 | 100 | ||
93 | extern int block_cache_init(dev_handle_t, size_t, unsigned); |
101 | extern int block_cache_init(dev_handle_t, size_t, unsigned, enum cache_mode); |
94 | 102 | ||
95 | extern block_t *block_get(dev_handle_t, bn_t, int flags); |
103 | extern block_t *block_get(dev_handle_t, bn_t, int flags); |
96 | extern void block_put(block_t *); |
104 | extern void block_put(block_t *); |
97 | 105 | ||
98 | extern int block_read(dev_handle_t, off_t *, size_t *, off_t *, void *, size_t, |
106 | extern int block_read(dev_handle_t, off_t *, size_t *, off_t *, void *, size_t, |