Simplified distributed block storage with strong consistency, like in Ceph
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

30 lines
792 B

  1. // Copyright (c) Vitaliy Filippov, 2019+
  2. // License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)
  3. #ifndef VITASTOR_QEMU_PROXY_H
  4. #define VITASTOR_QEMU_PROXY_H
  5. #ifndef POOL_ID_BITS
  6. #define POOL_ID_BITS 16
  7. #endif
  8. #include <stdint.h>
  9. #include <sys/uio.h>
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. // Our exports
  14. typedef void VitastorIOHandler(int retval, void *opaque);
  15. void* vitastor_proxy_create(AioContext *ctx, const char *etcd_host, const char *etcd_prefix);
  16. void vitastor_proxy_destroy(void *client);
  17. void vitastor_proxy_rw(int write, void *client, uint64_t inode, uint64_t offset, uint64_t len,
  18. struct iovec *iov, int iovcnt, VitastorIOHandler cb, void *opaque);
  19. void vitastor_proxy_sync(void *client, VitastorIOHandler cb, void *opaque);
  20. #ifdef __cplusplus
  21. }
  22. #endif
  23. #endif