Spdk/module/bdev/longhorn/bdev_longhorn_snapshot.h

42 lines
1.0 KiB
C
Raw Normal View History

#ifndef _BDEV_LONGHORN_SNAPSHOT__H_
#define _BDEV_LONGHORN_SNAPSHOT__H_
#include "spdk/lvol.h"
void bdev_longhorn_snapshot_remote(const char *addr,
const char *name,
const char *lvs,
const char *snapshot,
spdk_lvol_op_complete cb_fn,
void *cb_arg);
struct block {
uint64_t block;
TAILQ_ENTRY(block) next;
};
struct block_diff {
TAILQ_HEAD(, block) blocks;
uint64_t blocksize;
uint64_t num_diff;
uint64_t size1;
uint64_t size2;
};
typedef void (*compare_bdev_cb)(int status, struct block_diff *diff, void *arg);
void bdev_longhorn_compare(const char *bdev_name1,
const char *bdev_name2,
uint64_t blocksize,
compare_bdev_cb cb_fn,
void *cb_arg);
int
longhorn_volume_snapshot(const char *name, const char *snapshot_name);
#endif /* _BDEV_LONGHORN_SNAPSHOT__H_ */