diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2017-03-19 15:56:34 -0800 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2017-03-19 17:31:47 -0800 |
commit | 5ec39af8eaba49aee7bafa44c661da39e2f40dc3 (patch) | |
tree | 1fb1a981602cbf22c7d2b2dba1168c715d7cecb5 /libbcache/io_types.h | |
parent | bb1941de5378a7b8122d3575dcbc7d0aeb6326f0 (diff) |
Rename from bcache-tools to bcachefs-tools
Diffstat (limited to 'libbcache/io_types.h')
-rw-r--r-- | libbcache/io_types.h | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/libbcache/io_types.h b/libbcache/io_types.h deleted file mode 100644 index ca1b0192..00000000 --- a/libbcache/io_types.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef _BCACHE_IO_TYPES_H -#define _BCACHE_IO_TYPES_H - -#include "btree_types.h" -#include "buckets_types.h" -#include "keylist_types.h" - -#include <linux/llist.h> -#include <linux/workqueue.h> - -struct bch_read_bio { - /* - * Reads will often have to be split, and if the extent being read from - * was checksummed or compressed we'll also have to allocate bounce - * buffers and copy the data back into the original bio. - * - * If we didn't have to split, we have to save and restore the original - * bi_end_io - @split below indicates which: - */ - union { - struct bch_read_bio *parent; - bio_end_io_t *orig_bi_end_io; - }; - - /* - * Saved copy of parent->bi_iter, from submission time - allows us to - * resubmit on IO error, and also to copy data back to the original bio - * when we're bouncing: - */ - struct bvec_iter parent_iter; - - unsigned submit_time_us; - u16 flags; - u8 bounce:1, - split:1; - - struct bch_fs *c; - struct bch_dev *ca; - struct bch_extent_ptr ptr; - struct bch_extent_crc128 crc; - struct bversion version; - - struct cache_promote_op *promote; - - /* - * If we have to retry the read (IO error, checksum failure, read stale - * data (raced with allocator), we retry the portion of the parent bio - * that failed (i.e. this bio's portion, parent_iter). - * - * But we need to stash the inode somewhere: - */ - u64 inode; - - struct work_struct work; - - struct bio bio; -}; - -static inline struct bch_read_bio * -bch_rbio_parent(struct bch_read_bio *rbio) -{ - return rbio->split ? rbio->parent : rbio; -} - -struct bch_write_bio { - struct bch_fs *c; - struct bch_dev *ca; - union { - struct bio *orig; - struct closure *cl; - }; - - unsigned submit_time_us; - unsigned split:1, - bounce:1, - put_bio:1; - - /* Only for btree writes: */ - unsigned used_mempool:1; - u8 order; - - struct bio bio; -}; - -struct bch_replace_info { - struct extent_insert_hook hook; - /* How many insertions succeeded */ - unsigned successes; - /* How many insertions failed */ - unsigned failures; - BKEY_PADDED(key); -}; - -struct bch_write_op { - struct closure cl; - struct bch_fs *c; - struct workqueue_struct *io_wq; - struct bch_write_bio *bio; - - unsigned written; /* sectors */ - - short error; - - u16 flags; - unsigned csum_type:4; - unsigned compression_type:4; - unsigned nr_replicas:4; - unsigned alloc_reserve:4; - unsigned nonce:14; - - struct bpos pos; - struct bversion version; - - /* For BCH_WRITE_DATA_COMPRESSED: */ - struct bch_extent_crc128 crc; - unsigned size; - - struct disk_reservation res; - - struct write_point *wp; - - union { - u8 open_buckets[16]; - struct { - struct bch_write_op *next; - unsigned long expires; - }; - }; - - /* - * If caller wants to flush but hasn't passed us a journal_seq ptr, we - * still need to stash the journal_seq somewhere: - */ - union { - u64 *journal_seq_p; - u64 journal_seq; - }; - - int (*index_update_fn)(struct bch_write_op *); - - struct keylist insert_keys; - u64 inline_keys[BKEY_EXTENT_U64s_MAX * 2]; -}; - -#endif /* _BCACHE_IO_TYPES_H */ |