summaryrefslogtreecommitdiffstats
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/dnbd3/config.h1
-rw-r--r--inc/dnbd3/config/cow.h21
-rw-r--r--inc/dnbd3/types.h1
3 files changed, 23 insertions, 0 deletions
diff --git a/inc/dnbd3/config.h b/inc/dnbd3/config.h
index eb4b8b1..482bd29 100644
--- a/inc/dnbd3/config.h
+++ b/inc/dnbd3/config.h
@@ -39,5 +39,6 @@
// +++++ Block Device +++++
#define DNBD3_BLOCK_SIZE ((uint64_t)4096) // NEVER CHANGE THIS OR THE WORLD WILL END!
+#define DNBD3_BLOCK_MASK ((uint64_t)4095) // NEVER CHANGE THIS OR THE WORLD WILL END!
#endif /* CONFIG_H_ */
diff --git a/inc/dnbd3/config/cow.h b/inc/dnbd3/config/cow.h
new file mode 100644
index 0000000..b266fc8
--- /dev/null
+++ b/inc/dnbd3/config/cow.h
@@ -0,0 +1,21 @@
+#ifndef _COW_CONFIG_H_
+#define _COW_CONFIG_H_
+
+// +++++ COW +++++
+#define COW_BITFIELD_SIZE 40 // NEVER CHANGE THIS OR THE WORLD WILL ALSO END!
+#define COW_FILE_META_MAGIC_VALUE ((uint64_t)0xEBE44D6E72F7825E) // Magic Value to recognize a Cow meta file
+#define COW_FILE_DATA_MAGIC_VALUE ((uint64_t)0xEBE44D6E72F7825F) // Magic Value to recognize a Cow data file
+#define COW_MIN_UPLOAD_DELAY 60 // in seconds
+#define COW_STATS_UPDATE_TIME 5 // time in seconds the cow status files gets updated (while uploading blocks)
+#define COW_MAX_PARALLEL_UPLOADS 10 // maximum number of parallel uploads
+#define COW_MAX_PARALLEL_BACKGROUND_UPLOADS 2 // maximum number of parallel uploads while the image is still mounted
+#define COW_URL_STRING_SIZE 500 // Max string size for an url
+#define COW_SHOW_UL_SPEED 1 // enable display of ul speed in cow status file
+#define COW_MAX_IMAGE_SIZE (1000LL * 1000LL * 1000LL * 1000LL) // Maximum size an image can have(tb*gb*mb*kb)
+// +++++ COW API Endpoints +++++
+#define COW_API_PREFIX "%s/v1/"
+#define COW_API_CREATE COW_API_PREFIX "file/create"
+#define COW_API_UPDATE COW_API_PREFIX "file/update?uuid=%s&clusterindex=%lu"
+#define COW_API_START_MERGE COW_API_PREFIX "file/merge"
+
+#endif
diff --git a/inc/dnbd3/types.h b/inc/dnbd3/types.h
index 699fa68..bd15f4e 100644
--- a/inc/dnbd3/types.h
+++ b/inc/dnbd3/types.h
@@ -30,6 +30,7 @@
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
+#define container_of( ptr, type, member ) ( (type *)( (char *)( ptr ) - (char *)&( ( (type *)NULL )->member ) ) )
#endif
#ifndef MIN