request.h (1004B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _BCACHE_REQUEST_H_ 3#define _BCACHE_REQUEST_H_ 4 5struct 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 36unsigned int bch_get_congested(const struct cache_set *c); 37void bch_data_insert(struct closure *cl); 38 39void bch_cached_dev_request_init(struct cached_dev *dc); 40void cached_dev_submit_bio(struct bio *bio); 41 42void bch_flash_dev_request_init(struct bcache_device *d); 43void flash_dev_submit_bio(struct bio *bio); 44 45extern struct kmem_cache *bch_search_cache; 46 47#endif /* _BCACHE_REQUEST_H_ */