42 lines
1.0 KiB
C
42 lines
1.0 KiB
C
#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_ */
|