Skip to content
static inline uint64_t bcache_hash(uint64_t x,uint64_t capacity)
void bcache_init(struct bcache *cache,uint64_t capacity)
void * bcache_get(struct generic_disk *disk,uint64_t lba,uint64_t block_size,uint64_t spb,bool no_evict,struct bcache_entry **out_entry)
bool bcache_writethrough(struct generic_disk *disk,struct bcache_entry *ent,uint64_t spb)
void bcache_write_queue(struct generic_disk *disk,struct bcache_entry *ent,uint64_t spb,enum bio_request_priority prio)
void bcache_stat(struct generic_disk *disk,uint64_t *total_dirty_out,uint64_t *total_present_out)
bool bcache_insert(struct generic_disk *disk,uint64_t lba,struct bcache_entry *ent,uint64_t spb)
bool bcache_evict(struct generic_disk *disk,uint64_t spb)
enum errnobcache_prefetch_async(struct generic_disk *disk,uint64_t lba,uint64_t block_size,uint64_t spb)
void * bcache_create_ent(struct generic_disk *disk,uint64_t lba,uint64_t block_size,uint64_t sectors_per_block,bool no_evict,struct bcache_entry **out_entry)
static inline void bcache_increment_ticks(struct bcache *cache)
static inline uint64_t bcache_get_ticks(struct bcache *cache)
static inline void bcache_ent_lock(struct bcache_entry *ent)
static inline void bcache_ent_unlock(struct bcache_entry *ent)
static inline void bcache_ent_pin(struct bcache_entry *ent)
static inline void bcache_ent_unpin(struct bcache_entry *ent)
static inline void bcache_ent_acquire(struct bcache_entry *ent)
static inline void bcache_ent_release(struct bcache_entry *ent)