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/blockdev_types.h | |
parent | bb1941de5378a7b8122d3575dcbc7d0aeb6326f0 (diff) |
Rename from bcache-tools to bcachefs-tools
Diffstat (limited to 'libbcache/blockdev_types.h')
-rw-r--r-- | libbcache/blockdev_types.h | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/libbcache/blockdev_types.h b/libbcache/blockdev_types.h deleted file mode 100644 index e5172004..00000000 --- a/libbcache/blockdev_types.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef _BCACHE_BLOCKDEV_TYPES_H -#define _BCACHE_BLOCKDEV_TYPES_H - -#include "keybuf_types.h" -#include "stats_types.h" -#include "super_types.h" -#include "util.h" - -struct bcache_device { - struct closure cl; - - struct kobject kobj; - - struct bch_fs *c; - - struct rb_node node; - struct bkey_i_inode_blockdev inode; - struct mutex inode_lock; - -#define BCACHEDEVNAME_SIZE 12 - char name[BCACHEDEVNAME_SIZE]; - - struct gendisk *disk; - - unsigned long flags; -#define BCACHE_DEV_CLOSING 0 -#define BCACHE_DEV_DETACHING 1 -#define BCACHE_DEV_UNLINK_DONE 2 - - unsigned nr_stripes; - unsigned stripe_size; - atomic_t *stripe_sectors_dirty; - unsigned long *full_dirty_stripes; - - struct bio_set bio_split; - - unsigned data_csum:1; - - int (*ioctl)(struct bcache_device *, fmode_t, unsigned, unsigned long); -}; - -struct io { - /* Used to track sequential IO so it can be skipped */ - struct hlist_node hash; - struct list_head lru; - - unsigned long last_io; - unsigned sequential; - sector_t last; -}; - -struct cached_dev { - struct list_head list; - struct bcache_device disk; - - //struct backingdev_sb sb; - - struct { - struct backingdev_sb *sb; - struct block_device *bdev; - struct bio *bio; - unsigned page_order; - } disk_sb; - struct closure sb_write; - struct semaphore sb_write_mutex; - - /* Refcount on the cache set. Always nonzero when we're caching. */ - atomic_t count; - struct work_struct detach; - - /* - * Device might not be running if it's dirty and the cache set hasn't - * showed up yet. - */ - atomic_t running; - - /* - * Writes take a shared lock from start to finish; scanning for dirty - * data to refill the rb tree requires an exclusive lock. - */ - struct rw_semaphore writeback_lock; - - /* - * Nonzero, and writeback has a refcount (d->count), iff there is dirty - * data in the cache. Protected by writeback_lock; must have an - * shared lock to set and exclusive lock to clear. - */ - atomic_t has_dirty; - - /* for dynamic rate control of writeback */ - struct bch_pd_controller writeback_pd; - struct delayed_work writeback_pd_update; - unsigned writeback_pd_update_seconds; - - struct task_struct *writeback_thread; - struct keybuf writeback_keys; - mempool_t writeback_io_pool; - mempool_t writeback_page_pool; - - /* For tracking sequential IO */ -#define RECENT_IO_BITS 7 -#define RECENT_IO (1 << RECENT_IO_BITS) - struct io io[RECENT_IO]; - struct hlist_head io_hash[RECENT_IO + 1]; - struct list_head io_lru; - spinlock_t io_lock; - - struct cache_accounting accounting; - - /* The rest of this all shows up in sysfs */ - unsigned sequential_cutoff; - unsigned readahead; - - unsigned verify:1; - unsigned bypass_torture_test:1; - - unsigned partial_stripes_expensive:1; - unsigned writeback_metadata:1; - unsigned writeback_running:1; - unsigned char writeback_percent; -}; - -#endif /* _BCACHE_BLOCKDEV_TYPES_H */ |