Introduce image names and metadata storage in etcd
Each inode has: image name, parent inode number & pool, size and readonly flag Snapshots are created by switching image name to a different inode number while using the older inode as parent.
This commit is contained in:
+6
-1
@@ -15,12 +15,17 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
// Our exports
|
||||
typedef void VitastorIOHandler(int retval, void *opaque);
|
||||
typedef void VitastorIOHandler(long retval, void *opaque);
|
||||
void* vitastor_proxy_create(AioContext *ctx, const char *etcd_host, const char *etcd_prefix);
|
||||
void vitastor_proxy_destroy(void *client);
|
||||
void vitastor_proxy_rw(int write, void *client, uint64_t inode, uint64_t offset, uint64_t len,
|
||||
struct iovec *iov, int iovcnt, VitastorIOHandler cb, void *opaque);
|
||||
void vitastor_proxy_sync(void *client, VitastorIOHandler cb, void *opaque);
|
||||
void vitastor_proxy_watch_metadata(void *client, char *image, VitastorIOHandler cb, void *opaque);
|
||||
void vitastor_proxy_close_watch(void *client, void *watch);
|
||||
uint64_t vitastor_proxy_get_size(void *watch);
|
||||
uint64_t vitastor_proxy_get_inode_num(void *watch);
|
||||
int vitastor_proxy_get_readonly(void *watch);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user