dm_writecache
static int process_flush_mesg(unsigned int argc, char **argv, struct dm_writecache *wc)
static int process_flush_on_suspend_mesg(unsigned int argc, char **argv, struct dm_writecache *wc)
static void activate_cleaner(struct dm_writecache *wc)
static int process_cleaner_mesg(unsigned int argc, char **argv, struct dm_writecache *wc)
static int process_clear_stats_mesg(unsigned int argc, char **argv, struct dm_writecache *wc)
struct dm_writecache *wc = ti->private;
static void bio_copy_block(struct dm_writecache *wc, struct bio *bio, void *data)
struct dm_writecache *wc = data;
static void writecache_offload_bio(struct dm_writecache *wc, struct bio *bio)
static void writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio,
static enum wc_map_op writecache_map_read(struct dm_writecache *wc, struct bio *bio)
static void writecache_bio_copy_ssd(struct dm_writecache *wc, struct bio *bio,
static enum wc_map_op writecache_map_write(struct dm_writecache *wc, struct bio *bio)
static enum wc_map_op writecache_map_flush(struct dm_writecache *wc, struct bio *bio)
static enum wc_map_op writecache_map_discard(struct dm_writecache *wc, struct bio *bio)
struct dm_writecache *wc = ti->private;
struct dm_writecache *wc = ti->private;
struct dm_writecache *wc = ti->private;
struct dm_writecache *wc = ti->private;
struct dm_writecache *wc = wb->wc;
struct dm_writecache *wc = c->wc;
static void __writecache_endio_pmem(struct dm_writecache *wc, struct list_head *list)
static void __writecache_endio_ssd(struct dm_writecache *wc, struct list_head *list)
struct dm_writecache *wc = data;
struct dm_writecache *wc = wb->wc;
static void __writeback_throttle(struct dm_writecache *wc, struct writeback_list *wbl)
static void __writecache_writeback_pmem(struct dm_writecache *wc, struct writeback_list *wbl)
static void __writecache_writeback_ssd(struct dm_writecache *wc, struct writeback_list *wbl)
struct dm_writecache *wc = container_of(work, struct dm_writecache, writeback_work);
static int init_memory(struct dm_writecache *wc)
struct dm_writecache *wc = ti->private;
struct dm_writecache *wc;
struct dm_writecache *wc;
wc = kzalloc_obj(struct dm_writecache);
struct dm_writecache *wc;
static void wc_lock(struct dm_writecache *wc)
static void wc_unlock(struct dm_writecache *wc)
static int persistent_memory_claim(struct dm_writecache *wc)
struct dm_writecache *wc = ti->private;
static int persistent_memory_claim(struct dm_writecache *wc)
static void persistent_memory_release(struct dm_writecache *wc)
static struct wc_memory_superblock *sb(struct dm_writecache *wc)
static struct wc_memory_entry *memory_entry(struct dm_writecache *wc, struct wc_entry *e)
static void *memory_data(struct dm_writecache *wc, struct wc_entry *e)
static sector_t cache_sector(struct dm_writecache *wc, struct wc_entry *e)
static uint64_t read_original_sector(struct dm_writecache *wc, struct wc_entry *e)
static uint64_t read_seq_count(struct dm_writecache *wc, struct wc_entry *e)
static void clear_seq_count(struct dm_writecache *wc, struct wc_entry *e)
static void write_original_sector_seq_count(struct dm_writecache *wc, struct wc_entry *e,
static void writecache_flush_all_metadata(struct dm_writecache *wc)
static void writecache_flush_region(struct dm_writecache *wc, void *ptr, size_t size)
static void writecache_disk_flush(struct dm_writecache *wc, struct dm_dev *dev);
struct dm_writecache *wc;
static void writecache_wait_for_ios(struct dm_writecache *wc, int direction)
static void ssd_commit_flushed(struct dm_writecache *wc, bool wait_for_ios)
static void ssd_commit_superblock(struct dm_writecache *wc)
static void writecache_commit_flushed(struct dm_writecache *wc, bool wait_for_ios)
static void writecache_disk_flush(struct dm_writecache *wc, struct dm_dev *dev)
static struct wc_entry *writecache_find_entry(struct dm_writecache *wc,
static void writecache_insert_entry(struct dm_writecache *wc, struct wc_entry *ins)
static void writecache_unlink(struct dm_writecache *wc, struct wc_entry *e)
static void writecache_add_to_freelist(struct dm_writecache *wc, struct wc_entry *e)
static inline void writecache_verify_watermark(struct dm_writecache *wc)
struct dm_writecache *wc = timer_container_of(wc, t, max_age_timer);
static struct wc_entry *writecache_pop_from_freelist(struct dm_writecache *wc, sector_t expected_sector)
static void writecache_free_entry(struct dm_writecache *wc, struct wc_entry *e)
static void writecache_wait_on_freelist(struct dm_writecache *wc)
static void writecache_poison_lists(struct dm_writecache *wc)
static void writecache_flush_entry(struct dm_writecache *wc, struct wc_entry *e)
static bool writecache_entry_is_committed(struct dm_writecache *wc, struct wc_entry *e)
static void writecache_flush(struct dm_writecache *wc)
struct dm_writecache *wc = container_of(work, struct dm_writecache, flush_work);
struct dm_writecache *wc = timer_container_of(wc, t, autocommit_timer);
static void writecache_schedule_autocommit(struct dm_writecache *wc)
static void writecache_discard(struct dm_writecache *wc, sector_t start, sector_t end)
static bool writecache_wait_for_writeback(struct dm_writecache *wc)
struct dm_writecache *wc = ti->private;
static int writecache_alloc_entries(struct dm_writecache *wc)
static int writecache_read_metadata(struct dm_writecache *wc, sector_t n_sectors)
struct dm_writecache *wc = ti->private;