]> Pileus Git - ~andy/linux/blob - drivers/md/bcache/request.h
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / md / bcache / request.h
1 #ifndef _BCACHE_REQUEST_H_
2 #define _BCACHE_REQUEST_H_
3
4 #include <linux/cgroup.h>
5
6 struct data_insert_op {
7         struct closure          cl;
8         struct cache_set        *c;
9         struct bio              *bio;
10
11         unsigned                inode;
12         uint16_t                write_point;
13         uint16_t                write_prio;
14         short                   error;
15
16         unsigned                bypass:1;
17         unsigned                writeback:1;
18         unsigned                flush_journal:1;
19         unsigned                csum:1;
20
21         unsigned                replace:1;
22         unsigned                replace_collision:1;
23
24         unsigned                insert_data_done:1;
25
26         /* Anything past this point won't get zeroed in search_alloc() */
27         struct keylist          insert_keys;
28         BKEY_PADDED(replace_key);
29 };
30
31 unsigned bch_get_congested(struct cache_set *);
32 void bch_data_insert(struct closure *cl);
33
34 void bch_cached_dev_request_init(struct cached_dev *dc);
35 void bch_flash_dev_request_init(struct bcache_device *d);
36
37 extern struct kmem_cache *bch_search_cache, *bch_passthrough_cache;
38
39 struct bch_cgroup {
40 #ifdef CONFIG_CGROUP_BCACHE
41         struct cgroup_subsys_state      css;
42 #endif
43         /*
44          * We subtract one from the index into bch_cache_modes[], so that
45          * default == -1; this makes it so the rest match up with d->cache_mode,
46          * and we use d->cache_mode if cgrp->cache_mode < 0
47          */
48         short                           cache_mode;
49         bool                            verify;
50         struct cache_stat_collector     stats;
51 };
52
53 struct bch_cgroup *bch_bio_to_cgroup(struct bio *bio);
54
55 #endif /* _BCACHE_REQUEST_H_ */