iAdd some comments - dedup - deduplicating backup program Err bitreich.org 70 hgit clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ URL:git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/dedup/ bitreich.org 70 1Log /scm/dedup/log.gph bitreich.org 70 1Files /scm/dedup/files.gph bitreich.org 70 1Refs /scm/dedup/refs.gph bitreich.org 70 1Tags /scm/dedup/tag bitreich.org 70 1README /scm/dedup/file/README.gph bitreich.org 70 1LICENSE /scm/dedup/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 38a52d085bd43216bf41c277c23c0ac5ebb7f0a4 /scm/dedup/commit/38a52d085bd43216bf41c277c23c0ac5ebb7f0a4.gph bitreich.org 70 1parent 76740646829a96a6f4e69082141a30886a933ffe /scm/dedup/commit/76740646829a96a6f4e69082141a30886a933ffe.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Thu, 25 Apr 2019 16:18:02 +0100 Err bitreich.org 70 i Err bitreich.org 70 iAdd some comments Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M bcompress.c | 5 +++-- Err bitreich.org 70 i M block.c | 1 + Err bitreich.org 70 i M block.h | 3 +++ Err bitreich.org 70 i M bstorage.c | 12 ++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 15 insertions(+), 6 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/bcompress.c b/bcompress.c /scm/dedup/file/bcompress.c.gph bitreich.org 70 i@@ -37,13 +37,14 @@ static struct bops bops = { Err bitreich.org 70 i .close = bcclose, Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i+/* Compression layer context */ Err bitreich.org 70 i struct cctx { Err bitreich.org 70 i- uint64_t type; Err bitreich.org 70 i+ uint64_t type; /* compression algorithm type for new blocks */ Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i /* Compression descriptor */ Err bitreich.org 70 i struct cd { Err bitreich.org 70 i- uint64_t type; Err bitreich.org 70 i+ uint64_t type; /* compression algorithm type */ Err bitreich.org 70 i uint64_t size; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/block.c b/block.c /scm/dedup/file/block.c.gph bitreich.org 70 i@@ -1,3 +1,4 @@ Err bitreich.org 70 i+/* Top-level block layer implementation */ Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/block.h b/block.h /scm/dedup/file/block.h.gph bitreich.org 70 i@@ -9,6 +9,9 @@ struct bparam { Err bitreich.org 70 i char *halgo; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i+/* Err bitreich.org 70 i+ * Block operations structure. Err bitreich.org 70 i+ * This is implemented by each of the block layers. */ Err bitreich.org 70 i struct bops { Err bitreich.org 70 i int (*creat)(struct bctx *bctx, char *path, int mode, struct bparam *bpar); Err bitreich.org 70 i int (*open)(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar); Err bitreich.org 70 1diff --git a/bstorage.c b/bstorage.c /scm/dedup/file/bstorage.c.gph bitreich.org 70 i@@ -80,11 +80,12 @@ struct bd { Err bitreich.org 70 i }; Err bitreich.org 70 i RB_HEAD(bdcache, bd); Err bitreich.org 70 i Err bitreich.org 70 i+/* Storage layer context */ Err bitreich.org 70 i struct sctx { Err bitreich.org 70 i struct bdcache bdcache; Err bitreich.org 70 i struct bhdr bhdr; Err bitreich.org 70 i int fd; Err bitreich.org 70 i- int rdonly; Err bitreich.org 70 i+ int rdonly; /* when set to 1, the bssync() operation is a no-op */ Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i #define NCALGOS 2 Err bitreich.org 70 i@@ -303,7 +304,7 @@ initbdcache(struct sctx *sctx) Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-/* Create a new store */ Err bitreich.org 70 i+/* Create storage */ Err bitreich.org 70 i static int Err bitreich.org 70 i bscreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -371,7 +372,7 @@ bscreat(struct bctx *bctx, char *path, int mode, struct bparam *bpar) Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-/* Open an existing store */ Err bitreich.org 70 i+/* Open storage */ Err bitreich.org 70 i static int Err bitreich.org 70 i bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -405,6 +406,7 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+ /* Populate bparam */ Err bitreich.org 70 i calgo = (bhdr->flags >> CALGOSHIFT) & CALGOMASK; Err bitreich.org 70 i if (calgo < 0 || calgo >= NCALGOS) { Err bitreich.org 70 i free(sctx); Err bitreich.org 70 i@@ -432,7 +434,7 @@ bsopen(struct bctx *bctx, char *path, int flags, int mode, struct bparam *bpar) Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-/* Write a new block */ Err bitreich.org 70 i+/* Write a block */ Err bitreich.org 70 i static int Err bitreich.org 70 i bsput(struct bctx *bctx, void *buf, size_t n, unsigned char *md) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -508,6 +510,7 @@ bsget(struct bctx *bctx, unsigned char *md, void *buf, size_t *n) Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+/* Sync block header to storage */ Err bitreich.org 70 i static int Err bitreich.org 70 i bssync(struct bctx *bctx) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -527,6 +530,7 @@ bssync(struct bctx *bctx) Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+/* Close storage handle */ Err bitreich.org 70 i static int Err bitreich.org 70 i bsclose(struct bctx *bctx) Err bitreich.org 70 i { Err bitreich.org 70 .