Lines Matching defs:cache
296 struct cache { struct
306 struct dm_cache_metadata *cmd; argument
321 struct dm_dev *cache_dev; argument
330 * Size of the cache device in blocks. argument
332 dm_cblock_t cache_size; argument
337 spinlock_t invalidation_lock;
338 struct list_head invalidation_requests;
340 sector_t migration_threshold;
341 wait_queue_head_t migration_wait;
342 atomic_t nr_allocated_migrations;
348 atomic_t nr_io_migrations;
350 struct bio_list deferred_bios;
352 struct rw_semaphore quiesce_lock;
376 * cache_size entries, dirty if set argument
382 struct dm_cache_policy *policy; argument
387 struct cache_features features; argument
389 struct cache_stats stats; argument
391 bool need_tick_bio:1;
392 bool sized:1;
393 bool invalidate:1;
394 bool commit_requested:1;
418 struct dm_cache_migration { argument
420 struct cache *cache; member
432 static bool writethrough_mode(struct cache *cache) in writethrough_mode()
437 static bool writeback_mode(struct cache *cache) in writeback_mode()
442 static inline bool passthrough_mode(struct cache *cache) in passthrough_mode()
449 static void wake_deferred_bio_worker(struct cache *cache) in wake_deferred_bio_worker()
454 static void wake_migration_worker(struct cache *cache) in wake_migration_worker()
464 static struct dm_bio_prison_cell_v2 *alloc_prison_cell(struct cache *cache) in alloc_prison_cell()
469 static void free_prison_cell(struct cache *cache, struct dm_bio_prison_cell_v2 *cell) in free_prison_cell()
474 static struct dm_cache_migration *alloc_migration(struct cache *cache) in alloc_migration()
490 struct cache *cache = mg->cache; in free_migration() local
552 static void defer_bio(struct cache *cache, struct bio *bio) in defer_bio()
561 static void defer_bios(struct cache *cache, struct bio_list *bios) in defer_bios()
573 static bool bio_detain_shared(struct cache *cache, dm_oblock_t oblock, struct bio *bio) in bio_detain_shared()
604 static bool is_dirty(struct cache *cache, dm_cblock_t b) in is_dirty()
609 static void set_dirty(struct cache *cache, dm_cblock_t cblock) in set_dirty()
621 static void force_set_dirty(struct cache *cache, dm_cblock_t cblock) in force_set_dirty()
628 static void force_clear_dirty(struct cache *cache, dm_cblock_t cblock) in force_clear_dirty()
640 static bool block_size_is_power_of_two(struct cache *cache) in block_size_is_power_of_two()
652 static dm_block_t oblocks_per_dblock(struct cache *cache) in oblocks_per_dblock()
664 static dm_dblock_t oblock_to_dblock(struct cache *cache, dm_oblock_t oblock) in oblock_to_dblock()
670 static void set_discard(struct cache *cache, dm_dblock_t b) in set_discard()
680 static void clear_discard(struct cache *cache, dm_dblock_t b) in clear_discard()
687 static bool is_discarded(struct cache *cache, dm_dblock_t b) in is_discarded()
697 static bool is_discarded_oblock(struct cache *cache, dm_oblock_t b) in is_discarded_oblock()
711 static void remap_to_origin(struct cache *cache, struct bio *bio) in remap_to_origin()
716 static void remap_to_cache(struct cache *cache, struct bio *bio, in remap_to_cache()
733 static void check_if_tick_bio_needed(struct cache *cache, struct bio *bio) in check_if_tick_bio_needed()
747 static void __remap_to_origin_clear_discard(struct cache *cache, struct bio *bio, in __remap_to_origin_clear_discard()
757 static void remap_to_origin_clear_discard(struct cache *cache, struct bio *bio, in remap_to_origin_clear_discard()
764 static void remap_to_cache_dirty(struct cache *cache, struct bio *bio, in remap_to_cache_dirty()
775 static dm_oblock_t get_bio_block(struct cache *cache, struct bio *bio) in get_bio_block()
787 static bool accountable_bio(struct cache *cache, struct bio *bio) in accountable_bio()
792 static void accounted_begin(struct cache *cache, struct bio *bio) in accounted_begin()
803 static void accounted_complete(struct cache *cache, struct bio *bio) in accounted_complete()
810 static void accounted_request(struct cache *cache, struct bio *bio) in accounted_request()
818 struct cache *cache = context; in issue_op() local
826 static void remap_to_origin_and_cache(struct cache *cache, struct bio *bio, in remap_to_origin_and_cache()
847 static enum cache_metadata_mode get_cache_mode(struct cache *cache) in get_cache_mode()
852 static const char *cache_device_name(struct cache *cache) in cache_device_name()
857 static void notify_mode_switch(struct cache *cache, enum cache_metadata_mode mode) in notify_mode_switch()
870 static void set_cache_mode(struct cache *cache, enum cache_metadata_mode new_mode) in set_cache_mode()
911 static void abort_transaction(struct cache *cache) in abort_transaction()
930 static void metadata_operation_failed(struct cache *cache, const char *op, int r) in metadata_operation_failed()
940 static void load_stats(struct cache *cache) in load_stats()
951 static void save_stats(struct cache *cache) in save_stats()
990 static void inc_io_migrations(struct cache *cache) in inc_io_migrations()
995 static void dec_io_migrations(struct cache *cache) in dec_io_migrations()
1005 static void calc_discard_block_range(struct cache *cache, struct bio *bio, in calc_discard_block_range()
1021 static void prevent_background_work(struct cache *cache) in prevent_background_work()
1028 static void allow_background_work(struct cache *cache) in allow_background_work()
1035 static bool background_work_begin(struct cache *cache) in background_work_begin()
1046 static void background_work_end(struct cache *cache) in background_work_end()
1055 static bool bio_writes_complete_block(struct cache *cache, struct bio *bio) in bio_writes_complete_block()
1061 static bool optimisable_bio(struct cache *cache, struct bio *bio, dm_oblock_t block) in optimisable_bio()
1093 struct cache *cache = mg->cache; in copy() local
1109 static void bio_drop_shared_lock(struct cache *cache, struct bio *bio) in bio_drop_shared_lock()
1121 struct cache *cache = mg->cache; in overwrite_endio() local
1167 struct cache *cache = mg->cache; in mg_complete() local
1235 struct cache *cache = mg->cache; in mg_update_metadata() local
1337 struct cache *cache = mg->cache; in mg_full_copy() local
1390 struct cache *cache = mg->cache; in mg_lock_writes() local
1421 static int mg_start(struct cache *cache, struct policy_work *op, struct bio *bio) in mg_start()
1448 struct cache *cache = mg->cache; in invalidate_complete() local
1469 static int invalidate_cblock(struct cache *cache, dm_cblock_t cblock) in invalidate_cblock()
1496 struct cache *cache = mg->cache; in invalidate_remove() local
1515 struct cache *cache = mg->cache; in invalidate_lock() local
1547 static int invalidate_start(struct cache *cache, dm_cblock_t cblock, in invalidate_start()
1573 static enum busy spare_migration_bandwidth(struct cache *cache) in spare_migration_bandwidth()
1585 static void inc_hit_counter(struct cache *cache, struct bio *bio) in inc_hit_counter()
1591 static void inc_miss_counter(struct cache *cache, struct bio *bio) in inc_miss_counter()
1599 static int map_bio(struct cache *cache, struct bio *bio, dm_oblock_t block, in map_bio()
1714 static bool process_bio(struct cache *cache, struct bio *bio) in process_bio()
1727 static int commit(struct cache *cache, bool clean_shutdown) in commit()
1747 struct cache *cache = context; in commit_op() local
1757 static bool process_flush_bio(struct cache *cache, struct bio *bio) in process_flush_bio()
1770 static bool process_discard_bio(struct cache *cache, struct bio *bio) in process_discard_bio()
1794 struct cache *cache = container_of(ws, struct cache, deferred_bio_worker); in process_deferred_bios() local
1826 static void requeue_deferred_bios(struct cache *cache) in requeue_deferred_bios()
1847 struct cache *cache = container_of(to_delayed_work(ws), struct cache, waker); in do_waker() local
1859 struct cache *cache = container_of(ws, struct cache, migration_worker); in check_migrations() local
1889 static void destroy(struct cache *cache) in destroy()
1936 struct cache *cache = ti->private; in cache_dtr() local
2245 static int process_config_option(struct cache *cache, const char *key, const char *value) in process_config_option()
2260 static int set_config_value(struct cache *cache, const char *key, const char *value) in set_config_value()
2273 static int set_config_values(struct cache *cache, int argc, const char **argv) in set_config_values()
2294 static int create_cache_policy(struct cache *cache, struct cache_args *ca, in create_cache_policy()
2337 static void set_cache_size(struct cache *cache, dm_cblock_t size) in set_cache_size()
2356 struct cache *cache; in cache_create() local
2548 static int copy_ctr_args(struct cache *cache, int argc, const char **argv) in copy_ctr_args()
2576 struct cache *cache = NULL; in cache_ctr() local
2609 struct cache *cache = ti->private; in cache_map() local
2641 struct cache *cache = ti->private; in cache_end_io() local
2659 static int write_dirty_bitset(struct cache *cache) in write_dirty_bitset()
2673 static int write_discard_bitset(struct cache *cache) in write_discard_bitset()
2700 static int write_hints(struct cache *cache) in write_hints()
2719 static bool sync_metadata(struct cache *cache) in sync_metadata()
2751 struct cache *cache = ti->private; in cache_postsuspend() local
2773 struct cache *cache = context; in load_mapping() local
2791 struct cache *cache; member
2801 static void discard_load_info_init(struct cache *cache, in discard_load_info_init()
2868 static dm_cblock_t get_cache_dev_size(struct cache *cache) in get_cache_dev_size()
2875 static bool can_resize(struct cache *cache, dm_cblock_t new_size) in can_resize()
2901 static int resize_cache_dev(struct cache *cache, dm_cblock_t new_size) in resize_cache_dev()
2920 struct cache *cache = ti->private; in cache_preresume() local
2981 struct cache *cache = ti->private; in cache_resume() local
2988 static void emit_flags(struct cache *cache, char *result, in emit_flags()
3041 struct cache *cache = ti->private; in cache_status() local
3172 static int parse_cblock_range(struct cache *cache, const char *str, in parse_cblock_range()
3209 static int validate_cblock_range(struct cache *cache, struct cblock_range *range) in validate_cblock_range()
3241 static int request_invalidation(struct cache *cache, struct cblock_range *range) in request_invalidation()
3263 static int process_invalidate_cblocks_message(struct cache *cache, unsigned count, in process_invalidate_cblocks_message()
3307 struct cache *cache = ti->private; in cache_message() local
3331 struct cache *cache = ti->private; in cache_iterate_devices() local
3351 static void disable_passdown_if_not_supported(struct cache *cache) in disable_passdown_if_not_supported()
3374 static void set_discard_limits(struct cache *cache, struct queue_limits *limits) in set_discard_limits()
3400 struct cache *cache = ti->private; in cache_io_hints() local