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