#ifndef DM_CACHE_POLICY_INTERNAL_H
#define DM_CACHE_POLICY_INTERNAL_H
#include <linux/vmalloc.h>
#include "dm-cache-policy.h"
static inline int policy_lookup(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock,
int data_dir, bool fast_copy, bool *background_queued)
{ … }
static inline int policy_lookup_with_work(struct dm_cache_policy *p,
dm_oblock_t oblock, dm_cblock_t *cblock,
int data_dir, bool fast_copy,
struct policy_work **work)
{ … }
static inline int policy_get_background_work(struct dm_cache_policy *p,
bool idle, struct policy_work **result)
{ … }
static inline void policy_complete_background_work(struct dm_cache_policy *p,
struct policy_work *work,
bool success)
{ … }
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)
{ … }
static inline int policy_load_mapping(struct dm_cache_policy *p,
dm_oblock_t oblock, dm_cblock_t cblock,
bool dirty, uint32_t hint, bool hint_valid)
{ … }
static inline int policy_invalidate_mapping(struct dm_cache_policy *p,
dm_cblock_t cblock)
{ … }
static inline uint32_t policy_get_hint(struct dm_cache_policy *p,
dm_cblock_t cblock)
{ … }
static inline dm_cblock_t policy_residency(struct dm_cache_policy *p)
{ … }
static inline void policy_tick(struct dm_cache_policy *p, bool can_block)
{ … }
static inline int policy_emit_config_values(struct dm_cache_policy *p, char *result,
unsigned int maxlen, ssize_t *sz_ptr)
{ … }
static inline int policy_set_config_value(struct dm_cache_policy *p,
const char *key, const char *value)
{ … }
static inline void policy_allow_migrations(struct dm_cache_policy *p, bool allow)
{ … }
static inline size_t bitset_size_in_bytes(unsigned int nr_entries)
{ … }
static inline unsigned long *alloc_bitset(unsigned int nr_entries)
{ … }
static inline void clear_bitset(void *bitset, unsigned int nr_entries)
{ … }
static inline void free_bitset(unsigned long *bits)
{ … }
struct dm_cache_policy *dm_cache_policy_create(const char *name, dm_cblock_t cache_size,
sector_t origin_size, sector_t block_size);
void dm_cache_policy_destroy(struct dm_cache_policy *p);
const char *dm_cache_policy_get_name(struct dm_cache_policy *p);
const unsigned int *dm_cache_policy_get_version(struct dm_cache_policy *p);
size_t dm_cache_policy_get_hint_size(struct dm_cache_policy *p);
#endif