#include "dm-space-map-common.h"
#include "dm-space-map-disk.h"
#include "dm-space-map.h"
#include "dm-transaction-manager.h"
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <linux/device-mapper.h>
#define DM_MSG_PREFIX …
struct sm_disk { … };
static void sm_disk_destroy(struct dm_space_map *sm)
{ … }
static int sm_disk_extend(struct dm_space_map *sm, dm_block_t extra_blocks)
{ … }
static int sm_disk_get_nr_blocks(struct dm_space_map *sm, dm_block_t *count)
{ … }
static int sm_disk_get_nr_free(struct dm_space_map *sm, dm_block_t *count)
{ … }
static int sm_disk_get_count(struct dm_space_map *sm, dm_block_t b,
uint32_t *result)
{ … }
static int sm_disk_count_is_more_than_one(struct dm_space_map *sm, dm_block_t b,
int *result)
{ … }
static int sm_disk_set_count(struct dm_space_map *sm, dm_block_t b,
uint32_t count)
{ … }
static int sm_disk_inc_blocks(struct dm_space_map *sm, dm_block_t b, dm_block_t e)
{ … }
static int sm_disk_dec_blocks(struct dm_space_map *sm, dm_block_t b, dm_block_t e)
{ … }
static int sm_disk_new_block(struct dm_space_map *sm, dm_block_t *b)
{ … }
static int sm_disk_commit(struct dm_space_map *sm)
{ … }
static int sm_disk_root_size(struct dm_space_map *sm, size_t *result)
{ … }
static int sm_disk_copy_root(struct dm_space_map *sm, void *where_le, size_t max)
{ … }
static struct dm_space_map ops = …;
struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm,
dm_block_t nr_blocks)
{ … }
EXPORT_SYMBOL_GPL(…);
struct dm_space_map *dm_sm_disk_open(struct dm_transaction_manager *tm,
void *root_le, size_t len)
{ … }
EXPORT_SYMBOL_GPL(…);