fs_off_t
beos_init_cache_for_device(int fd, fs_off_t max_blocks)
block_lookup(int dev, fs_off_t bnum)
beos_set_blocks_info(int dev, fs_off_t *blocks, int nblocks,
void (*func)(fs_off_t bnum, size_t nblocks, void *arg), void *arg)
beos_write_phys_blocks(int fd, fs_off_t bnum, void *data, uint num_blocks, int bsize)
beos_flush_blocks(int dev, fs_off_t bnum, int nblocks)
beos_mark_blocks_dirty(int dev, fs_off_t bnum, int nblocks)
beos_release_block(int dev, fs_off_t bnum)
read_into_ents(int dev, fs_off_t bnum, cache_ent **ents, int num, int bsize)
cache_block_io(int dev, fs_off_t bnum, void *data, fs_off_t num_blocks, int bsize,
fs_off_t tmp;
#define HASH(d, b) ((((fs_off_t)d) << (sizeof(fs_off_t)*8 - 6)) | (b))
new_hash_ent(int dev, fs_off_t bnum, void *data)
beos_get_block(int dev, fs_off_t bnum, int bsize)
beos_get_empty_block(int dev, fs_off_t bnum, int bsize)
beos_cached_read(int dev, fs_off_t bnum, void *data, fs_off_t num_blocks, int bsize)
beos_cached_write(int dev, fs_off_t bnum, const void *data, fs_off_t num_blocks,int bsize)
beos_cached_write_locked(int dev, fs_off_t bnum, const void *data,
fs_off_t num_blocks, int bsize)
fs_off_t hash;
hash_insert(hash_table *ht, int dev, fs_off_t bnum, void *data)
fs_off_t hash;
hash_lookup(hash_table *ht, int dev, fs_off_t bnum)
hash_delete(hash_table *ht, int dev, fs_off_t bnum)
fs_off_t hash;
fs_off_t max_device_blocks[MAX_DEVICES];
fs_off_t bnum;
fs_off_t diff;
fs_off_t start_bnum;
beos_read_phys_blocks(int fd, fs_off_t bnum, void *data, uint num_blocks, int bsize)
ret = writev_pos(ents[i]->dev, start_bnum * (fs_off_t)bsize,