dm_cblock_t
static inline dm_cblock_t to_cblock(uint32_t b)
return (__force dm_cblock_t) b;
static inline uint32_t from_cblock(dm_cblock_t b)
int dm_cache_resize(struct dm_cache_metadata *cmd, dm_cblock_t new_cache_size)
static int __remove(struct dm_cache_metadata *cmd, dm_cblock_t cblock)
int dm_cache_remove_mapping(struct dm_cache_metadata *cmd, dm_cblock_t cblock)
dm_cblock_t cblock, dm_oblock_t oblock)
dm_cblock_t cblock, dm_oblock_t oblock)
dm_cblock_t cache_blocks;
static int __dirty(struct dm_cache_metadata *cmd, dm_cblock_t cblock, bool dirty)
static int block_clean_combined_dirty(struct dm_cache_metadata *cmd, dm_cblock_t b,
dm_cblock_t begin, dm_cblock_t end,
dm_cblock_t begin, dm_cblock_t end,
dm_cblock_t begin, dm_cblock_t end,
int dm_cache_resize(struct dm_cache_metadata *cmd, dm_cblock_t new_cache_size);
int dm_cache_remove_mapping(struct dm_cache_metadata *cmd, dm_cblock_t cblock);
int dm_cache_insert_mapping(struct dm_cache_metadata *cmd, dm_cblock_t cblock, dm_oblock_t oblock);
dm_cblock_t cblock, bool dirty,
struct dm_cache_policy *dm_cache_policy_create(const char *name, dm_cblock_t cache_size,
static inline int policy_lookup(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock,
dm_oblock_t oblock, dm_cblock_t *cblock,
static inline void policy_set_dirty(struct dm_cache_policy *p, dm_cblock_t cblock)
static inline void policy_clear_dirty(struct dm_cache_policy *p, dm_cblock_t cblock)
dm_oblock_t oblock, dm_cblock_t cblock,
dm_cblock_t cblock)
dm_cblock_t cblock)
static inline dm_cblock_t policy_residency(struct dm_cache_policy *p)
static int __lookup(struct smq_policy *mq, dm_oblock_t oblock, dm_cblock_t *cblock,
static int smq_lookup(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock,
dm_oblock_t oblock, dm_cblock_t *cblock,
static void __smq_set_clear_dirty(struct smq_policy *mq, dm_cblock_t cblock, bool set)
static void smq_set_dirty(struct dm_cache_policy *p, dm_cblock_t cblock)
static void smq_clear_dirty(struct dm_cache_policy *p, dm_cblock_t cblock)
static unsigned int random_level(dm_cblock_t cblock)
dm_oblock_t oblock, dm_cblock_t cblock,
static int smq_invalidate_mapping(struct dm_cache_policy *p, dm_cblock_t cblock)
static uint32_t smq_get_hint(struct dm_cache_policy *p, dm_cblock_t cblock)
static dm_cblock_t smq_residency(struct dm_cache_policy *p)
dm_cblock_t r;
__smq_create(dm_cblock_t cache_size, sector_t origin_size, sector_t cache_block_size,
static struct dm_cache_policy *smq_create(dm_cblock_t cache_size,
static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
static struct dm_cache_policy *cleaner_create(dm_cblock_t cache_size,
dm_cblock_t cache_size;
static dm_cblock_t infer_cblock(struct smq_policy *mq, struct entry *e)
dm_cblock_t cache_size,
int (*invalidate_mapping)(struct dm_cache_policy *p, dm_cblock_t cblock);
uint32_t (*get_hint)(struct dm_cache_policy *p, dm_cblock_t cblock);
dm_cblock_t (*residency)(struct dm_cache_policy *p);
struct dm_cache_policy *(*create)(dm_cblock_t cache_size,
dm_cblock_t cblock;
int (*lookup)(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock,
dm_oblock_t oblock, dm_cblock_t *cblock,
void (*set_dirty)(struct dm_cache_policy *p, dm_cblock_t cblock);
void (*clear_dirty)(struct dm_cache_policy *p, dm_cblock_t cblock);
dm_cblock_t cblock, bool dirty,
dm_cblock_t cblock = op->cblock;
static int invalidate_cblock(struct cache *cache, dm_cblock_t cblock)
static int invalidate_start(struct cache *cache, dm_cblock_t cblock,
dm_cblock_t cblock;
static void set_cache_size(struct cache *cache, dm_cblock_t size)
static int load_mapping(void *context, dm_oblock_t oblock, dm_cblock_t cblock,
static int load_filtered_mapping(void *context, dm_oblock_t oblock, dm_cblock_t cblock,
static dm_cblock_t get_cache_dev_size(struct cache *cache)
static bool can_resize(struct cache *cache, dm_cblock_t new_size)
static int resize_cache_dev(struct cache *cache, dm_cblock_t new_size)
dm_cblock_t csize = get_cache_dev_size(cache);
dm_cblock_t residency;
dm_cblock_t begin;
dm_cblock_t end;
dm_cblock_t cache_size;
static inline dm_cblock_t cblock_succ(dm_cblock_t b)
dm_cblock_t invalidate_cblock;
static bool is_dirty(struct cache *cache, dm_cblock_t b)
static void set_dirty(struct cache *cache, dm_cblock_t cblock)
static void force_set_dirty(struct cache *cache, dm_cblock_t cblock)
static void force_clear_dirty(struct cache *cache, dm_cblock_t cblock)
dm_cblock_t cblock)
dm_oblock_t oblock, dm_cblock_t cblock)
dm_oblock_t oblock, dm_cblock_t cblock)