linux/drivers/md/bcache/request.h
<<
>>
Prefs
   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);
  40blk_qc_t cached_dev_submit_bio(struct bio *bio);
  41
  42void bch_flash_dev_request_init(struct bcache_device *d);
  43blk_qc_t flash_dev_submit_bio(struct bio *bio);
  44
  45extern struct kmem_cache *bch_search_cache;
  46
  47#endif /* _BCACHE_REQUEST_H_ */
  48