#include "dm-bitset.h"
#include "dm-transaction-manager.h"
#include <linux/export.h>
#include <linux/device-mapper.h>
#define DM_MSG_PREFIX …
#define BITS_PER_ARRAY_ENTRY …
static struct dm_btree_value_type bitset_bvt = …;
void dm_disk_bitset_init(struct dm_transaction_manager *tm,
struct dm_disk_bitset *info)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_empty(struct dm_disk_bitset *info, dm_block_t *root)
{ … }
EXPORT_SYMBOL_GPL(…);
struct packer_context { … };
static int pack_bits(uint32_t index, void *value, void *context)
{ … }
int dm_bitset_new(struct dm_disk_bitset *info, dm_block_t *root,
uint32_t size, bit_value_fn fn, void *context)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_resize(struct dm_disk_bitset *info, dm_block_t root,
uint32_t old_nr_entries, uint32_t new_nr_entries,
bool default_value, dm_block_t *new_root)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_del(struct dm_disk_bitset *info, dm_block_t root)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_flush(struct dm_disk_bitset *info, dm_block_t root,
dm_block_t *new_root)
{ … }
EXPORT_SYMBOL_GPL(…);
static int read_bits(struct dm_disk_bitset *info, dm_block_t root,
uint32_t array_index)
{ … }
static int get_array_entry(struct dm_disk_bitset *info, dm_block_t root,
uint32_t index, dm_block_t *new_root)
{ … }
int dm_bitset_set_bit(struct dm_disk_bitset *info, dm_block_t root,
uint32_t index, dm_block_t *new_root)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_clear_bit(struct dm_disk_bitset *info, dm_block_t root,
uint32_t index, dm_block_t *new_root)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_test_bit(struct dm_disk_bitset *info, dm_block_t root,
uint32_t index, dm_block_t *new_root, bool *result)
{ … }
EXPORT_SYMBOL_GPL(…);
static int cursor_next_array_entry(struct dm_bitset_cursor *c)
{ … }
int dm_bitset_cursor_begin(struct dm_disk_bitset *info,
dm_block_t root, uint32_t nr_entries,
struct dm_bitset_cursor *c)
{ … }
EXPORT_SYMBOL_GPL(…);
void dm_bitset_cursor_end(struct dm_bitset_cursor *c)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_cursor_next(struct dm_bitset_cursor *c)
{ … }
EXPORT_SYMBOL_GPL(…);
int dm_bitset_cursor_skip(struct dm_bitset_cursor *c, uint32_t count)
{ … }
EXPORT_SYMBOL_GPL(…);
bool dm_bitset_cursor_get_value(struct dm_bitset_cursor *c)
{ … }
EXPORT_SYMBOL_GPL(…);