| 1 |
|
| 2 | #ifndef _BCACHE_REQUEST_H_
|
| 3 | #define _BCACHE_REQUEST_H_
|
| 4 |
|
| 5 | struct data_insert_op {
|
| 6 | struct closure cl;
|
| 7 | struct cache_set *c;
|
| 8 | struct bio *bio;
|
| 9 | struct workqueue_struct *wq;
|
| 10 |
|
| 11 | unsigned int inode;
|
| 12 | uint16_t write_point;
|
| 13 | uint16_t write_prio;
|
| 14 | blk_status_t status;
|
| 15 |
|
| 16 | union {
|
| 17 | uint16_t flags;
|
| 18 |
|
| 19 | struct {
|
| 20 | unsigned int bypass:1;
|
| 21 | unsigned int writeback:1;
|
| 22 | unsigned int flush_journal:1;
|
| 23 | unsigned int csum:1;
|
| 24 |
|
| 25 | unsigned int replace:1;
|
| 26 | unsigned int replace_collision:1;
|
| 27 |
|
| 28 | unsigned int insert_data_done:1;
|
| 29 | };
|
| 30 | };
|
| 31 |
|
| 32 | struct keylist insert_keys;
|
| 33 | BKEY_PADDED(replace_key);
|
| 34 | };
|
| 35 |
|
| 36 | unsigned int bch_get_congested(const struct cache_set *c);
|
| 37 | CLOSURE_CALLBACK(bch_data_insert);
|
| 38 |
|
| 39 | void bch_cached_dev_request_init(struct cached_dev *dc);
|
| 40 | void cached_dev_submit_bio(struct bio *bio);
|
| 41 |
|
| 42 | void bch_flash_dev_request_init(struct bcache_device *d);
|
| 43 | void flash_dev_submit_bio(struct bio *bio);
|
| 44 |
|
| 45 | extern struct kmem_cache *bch_search_cache;
|
| 46 |
|
| 47 | #endif
|