Commit | Line | Data |
---|---|---|
cafe5635 KO |
1 | #ifndef _BCACHE_REQUEST_H_ |
2 | #define _BCACHE_REQUEST_H_ | |
3 | ||
4 | #include <linux/cgroup.h> | |
5 | ||
6 | struct search { | |
7 | /* Stack frame for bio_complete */ | |
8 | struct closure cl; | |
9 | ||
10 | struct bcache_device *d; | |
11 | struct task_struct *task; | |
12 | ||
13 | struct bbio bio; | |
14 | struct bio *orig_bio; | |
15 | struct bio *cache_miss; | |
16 | unsigned cache_bio_sectors; | |
17 | ||
18 | unsigned recoverable:1; | |
19 | unsigned unaligned_bvec:1; | |
20 | ||
21 | unsigned write:1; | |
22 | unsigned writeback:1; | |
23 | ||
24 | /* IO error returned to s->bio */ | |
25 | short error; | |
26 | unsigned long start_time; | |
27 | ||
28 | /* Anything past op->keys won't get zeroed in do_bio_hook */ | |
29 | struct btree_op op; | |
30 | }; | |
31 | ||
32 | void bch_cache_read_endio(struct bio *, int); | |
c37511b8 | 33 | unsigned bch_get_congested(struct cache_set *); |
cafe5635 KO |
34 | void bch_insert_data(struct closure *cl); |
35 | void bch_btree_insert_async(struct closure *); | |
36 | void bch_cache_read_endio(struct bio *, int); | |
37 | ||
38 | void bch_open_buckets_free(struct cache_set *); | |
39 | int bch_open_buckets_alloc(struct cache_set *); | |
40 | ||
41 | void bch_cached_dev_request_init(struct cached_dev *dc); | |
42 | void bch_flash_dev_request_init(struct bcache_device *d); | |
43 | ||
44 | extern struct kmem_cache *bch_search_cache, *bch_passthrough_cache; | |
45 | ||
46 | struct bch_cgroup { | |
47 | #ifdef CONFIG_CGROUP_BCACHE | |
48 | struct cgroup_subsys_state css; | |
49 | #endif | |
50 | /* | |
51 | * We subtract one from the index into bch_cache_modes[], so that | |
52 | * default == -1; this makes it so the rest match up with d->cache_mode, | |
53 | * and we use d->cache_mode if cgrp->cache_mode < 0 | |
54 | */ | |
55 | short cache_mode; | |
56 | bool verify; | |
57 | struct cache_stat_collector stats; | |
58 | }; | |
59 | ||
60 | struct bch_cgroup *bch_bio_to_cgroup(struct bio *bio); | |
61 | ||
62 | #endif /* _BCACHE_REQUEST_H_ */ |