48 lines · c
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);37CLOSURE_CALLBACK(bch_data_insert);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_ */48