dm_oblock_t
dm_oblock_t oblock)
dm_oblock_t oblock)
static int cmp_oblock(dm_oblock_t lhs, dm_oblock_t rhs)
dm_oblock_t oblock);
static inline dm_oblock_t to_oblock(dm_block_t b)
return (__force dm_oblock_t) b;
static inline dm_block_t from_oblock(dm_oblock_t b)
dm_cblock_t cblock, dm_oblock_t oblock)
dm_cblock_t cblock, dm_oblock_t oblock)
dm_oblock_t oblock;
dm_oblock_t oblock;
dm_oblock_t oblock;
static __le64 pack_value(dm_oblock_t block, unsigned int flags)
static void unpack_value(__le64 value_le, dm_oblock_t *block, unsigned int *flags)
dm_oblock_t ob;
int dm_cache_insert_mapping(struct dm_cache_metadata *cmd, dm_cblock_t cblock, dm_oblock_t oblock);
typedef int (*load_mapping_fn)(void *context, dm_oblock_t oblock,
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,
dm_oblock_t oblock, dm_cblock_t cblock,
static void queue_promotion(struct smq_policy *mq, dm_oblock_t oblock,
static dm_oblock_t to_hblock(struct smq_policy *mq, dm_oblock_t b)
static struct entry *update_hotspot_queue(struct smq_policy *mq, dm_oblock_t b)
dm_oblock_t hb = to_hblock(mq, b);
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,
dm_oblock_t oblock, dm_cblock_t cblock,
dm_oblock_t oblock;
static struct entry *__h_lookup(struct smq_hash_table *ht, unsigned int h, dm_oblock_t oblock,
static struct entry *h_lookup(struct smq_hash_table *ht, dm_oblock_t oblock)
dm_oblock_t oblock;
int (*lookup)(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock,
dm_oblock_t oblock, dm_cblock_t *cblock,
int (*load_mapping)(struct dm_cache_policy *p, dm_oblock_t oblock,
static bool optimisable_bio(struct cache *cache, struct bio *bio, dm_oblock_t block)
dm_oblock_t oblock, struct bio *bio)
static int map_bio(struct cache *cache, struct bio *bio, dm_oblock_t block,
dm_oblock_t block = get_bio_block(cache, bio);
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,
dm_oblock_t origin_blocks;
dm_oblock_t invalidate_oblock;
static inline dm_oblock_t oblock_succ(dm_oblock_t b)
static void build_key(dm_oblock_t begin, dm_oblock_t end, struct dm_cell_key_v2 *key)
static bool bio_detain_shared(struct cache *cache, dm_oblock_t oblock, struct bio *bio)
dm_oblock_t end = to_oblock(from_oblock(oblock) + 1ULL);
static dm_dblock_t oblock_to_dblock(struct cache *cache, dm_oblock_t oblock)
static bool is_discarded_oblock(struct cache *cache, dm_oblock_t b)
dm_oblock_t oblock)
dm_oblock_t oblock, dm_cblock_t cblock)
static dm_oblock_t get_bio_block(struct cache *cache, struct bio *bio)
dm_oblock_t oblock, dm_cblock_t cblock)