iFactor out compressors into separate files - 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 6b656b00b35636ec242e9a9af7b8ede7467515a3 /scm/dedup/commit/6b656b00b35636ec242e9a9af7b8ede7467515a3.gph bitreich.org 70 1parent 58d3303c15c12898c7653fdb1d0a7b902067056e /scm/dedup/commit/58d3303c15c12898c7653fdb1d0a7b902067056e.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Fri, 12 Apr 2019 13:37:04 +0100 Err bitreich.org 70 i Err bitreich.org 70 iFactor out compressors into separate files Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 6 ++++++ Err bitreich.org 70 i A compress-lz4.c | 54 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i A compress-none.c | 41 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i A compress-snappy.c | 54 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i M compress.c | 149 ------------------------------- Err bitreich.org 70 i M dedup.h | 27 +++++++++++++++++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i6 files changed, 182 insertions(+), 149 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/dedup/file/Makefile.gph bitreich.org 70 i@@ -20,6 +20,9 @@ SRC = \ Err bitreich.org 70 i blake2s-ref.c \ Err bitreich.org 70 i blake2sp-ref.c \ Err bitreich.org 70 i chunker.c \ Err bitreich.org 70 i+ compress-lz4.c \ Err bitreich.org 70 i+ compress-none.c \ Err bitreich.org 70 i+ compress-snappy.c \ Err bitreich.org 70 i compress.c \ Err bitreich.org 70 i hash.c \ Err bitreich.org 70 i icache.c \ Err bitreich.org 70 i@@ -35,6 +38,9 @@ OBJ = \ Err bitreich.org 70 i blake2s-ref.o \ Err bitreich.org 70 i blake2sp-ref.o \ Err bitreich.org 70 i chunker.o \ Err bitreich.org 70 i+ compress-lz4.o \ Err bitreich.org 70 i+ compress-none.o \ Err bitreich.org 70 i+ compress-snappy.o \ Err bitreich.org 70 i compress.o \ Err bitreich.org 70 i hash.o \ Err bitreich.org 70 i icache.o \ Err bitreich.org 70 1diff --git a/compress-lz4.c b/compress-lz4.c /scm/dedup/file/compress-lz4.c.gph bitreich.org 70 i@@ -0,0 +1,54 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include "blake2.h" Err bitreich.org 70 i+#include "dedup.h" Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+lz4_init(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+lz4_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return LZ4_compressBound(n); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+lz4_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ int n; Err bitreich.org 70 i+ Err bitreich.org 70 i+ n = LZ4_compress_default((char *)in, (char *)out, insize, Err bitreich.org 70 i+ outsize); Err bitreich.org 70 i+ if (n < 0) Err bitreich.org 70 i+ errx(1, "LZ4_compress_default failed"); Err bitreich.org 70 i+ return n; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+lz4_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ int n; Err bitreich.org 70 i+ Err bitreich.org 70 i+ n = LZ4_decompress_safe((char *)in, (char *)out, insize, Err bitreich.org 70 i+ outsize); Err bitreich.org 70 i+ if (n < 0) Err bitreich.org 70 i+ errx(1, "LZ4_decompress_safe failed"); Err bitreich.org 70 i+ return n; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+lz4_final(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 1diff --git a/compress-none.c b/compress-none.c /scm/dedup/file/compress-none.c.gph bitreich.org 70 i@@ -0,0 +1,41 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include "blake2.h" Err bitreich.org 70 i+#include "dedup.h" Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+none_init(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+none_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return n; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+none_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ memcpy(out, in, insize); Err bitreich.org 70 i+ return insize; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+none_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ memcpy(out, in, insize); Err bitreich.org 70 i+ return insize; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+none_final(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 1diff --git a/compress-snappy.c b/compress-snappy.c /scm/dedup/file/compress-snappy.c.gph bitreich.org 70 i@@ -0,0 +1,54 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include "blake2.h" Err bitreich.org 70 i+#include "dedup.h" Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+snappy_init(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+snappy_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return snappy_max_compressed_length(n); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+snappy_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ size_t n = outsize; Err bitreich.org 70 i+ snappy_status ret; Err bitreich.org 70 i+ Err bitreich.org 70 i+ ret = snappy_compress((char *)in, insize, (char *)out, &n); Err bitreich.org 70 i+ if (ret != SNAPPY_OK) Err bitreich.org 70 i+ errx(1, "snappy_compress failed: %d", ret); Err bitreich.org 70 i+ return n; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+snappy_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ size_t n = outsize; Err bitreich.org 70 i+ snappy_status ret; Err bitreich.org 70 i+ Err bitreich.org 70 i+ ret = snappy_uncompress((char *)in, insize, (char *)out, &n); Err bitreich.org 70 i+ if (ret != SNAPPY_OK) Err bitreich.org 70 i+ errx(1, "snappy_uncompress failed: %d", ret); Err bitreich.org 70 i+ return n; Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+snappy_final(struct compr_ctx *ctx) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i+} Err bitreich.org 70 1diff --git a/compress.c b/compress.c /scm/dedup/file/compress.c.gph bitreich.org 70 i@@ -5,36 +5,9 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i-#include Err bitreich.org 70 i-#include Err bitreich.org 70 i- Err bitreich.org 70 i #include "blake2.h" Err bitreich.org 70 i #include "dedup.h" Err bitreich.org 70 i Err bitreich.org 70 i-static int none_init(struct compr_ctx *ctx); Err bitreich.org 70 i-static size_t none_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i-static size_t none_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static size_t none_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static int none_final(struct compr_ctx *ctx); Err bitreich.org 70 i- Err bitreich.org 70 i-static int lz4_init(struct compr_ctx *ctx); Err bitreich.org 70 i-static size_t lz4_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i-static size_t lz4_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static size_t lz4_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static int lz4_final(struct compr_ctx *ctx); Err bitreich.org 70 i- Err bitreich.org 70 i-static int snappy_init(struct compr_ctx *ctx); Err bitreich.org 70 i-static size_t snappy_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i-static size_t snappy_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static size_t snappy_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize); Err bitreich.org 70 i-static int snappy_final(struct compr_ctx *ctx); Err bitreich.org 70 i- Err bitreich.org 70 i static struct compr_ops { Err bitreich.org 70 i int (*init)(struct compr_ctx *ctx); Err bitreich.org 70 i size_t (*size)(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i@@ -77,128 +50,6 @@ static struct algomap { Err bitreich.org 70 i { .name = NULL, }, Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i-static int Err bitreich.org 70 i-none_init(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-none_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return n; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-none_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- memcpy(out, in, insize); Err bitreich.org 70 i- return insize; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-none_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- memcpy(out, in, insize); Err bitreich.org 70 i- return insize; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static int Err bitreich.org 70 i-none_final(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static int Err bitreich.org 70 i-lz4_init(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-lz4_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return LZ4_compressBound(n); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-lz4_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- int n; Err bitreich.org 70 i- Err bitreich.org 70 i- n = LZ4_compress_default((char *)in, (char *)out, insize, Err bitreich.org 70 i- outsize); Err bitreich.org 70 i- if (n < 0) Err bitreich.org 70 i- errx(1, "LZ4_compress_default failed"); Err bitreich.org 70 i- return n; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-lz4_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- int n; Err bitreich.org 70 i- Err bitreich.org 70 i- n = LZ4_decompress_safe((char *)in, (char *)out, insize, Err bitreich.org 70 i- outsize); Err bitreich.org 70 i- if (n < 0) Err bitreich.org 70 i- errx(1, "LZ4_decompress_safe failed"); Err bitreich.org 70 i- return n; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static int Err bitreich.org 70 i-lz4_final(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static int Err bitreich.org 70 i-snappy_init(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-snappy_size(struct compr_ctx *ctx, size_t n) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return snappy_max_compressed_length(n); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-snappy_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- size_t n = outsize; Err bitreich.org 70 i- snappy_status ret; Err bitreich.org 70 i- Err bitreich.org 70 i- ret = snappy_compress((char *)in, insize, (char *)out, &n); Err bitreich.org 70 i- if (ret != SNAPPY_OK) Err bitreich.org 70 i- errx(1, "snappy_compress failed: %d", ret); Err bitreich.org 70 i- return n; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static size_t Err bitreich.org 70 i-snappy_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i- size_t insize, size_t outsize) Err bitreich.org 70 i-{ Err bitreich.org 70 i- size_t n = outsize; Err bitreich.org 70 i- snappy_status ret; Err bitreich.org 70 i- Err bitreich.org 70 i- ret = snappy_uncompress((char *)in, insize, (char *)out, &n); Err bitreich.org 70 i- if (ret != SNAPPY_OK) Err bitreich.org 70 i- errx(1, "snappy_uncompress failed: %d", ret); Err bitreich.org 70 i- return n; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-static int Err bitreich.org 70 i-snappy_final(struct compr_ctx *ctx) Err bitreich.org 70 i-{ Err bitreich.org 70 i- return 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i int Err bitreich.org 70 i compr_init(struct compr_ctx *ctx, int type) Err bitreich.org 70 i { Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -108,6 +108,33 @@ ssize_t fill_chunker(struct chunker *chunker); Err bitreich.org 70 i uint8_t *get_chunk(struct chunker *chunker, size_t *chunk_size); Err bitreich.org 70 i void drain_chunker(struct chunker *chunker); Err bitreich.org 70 i Err bitreich.org 70 i+/* compress-none.c */ Err bitreich.org 70 i+int none_init(struct compr_ctx *ctx); Err bitreich.org 70 i+size_t none_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i+size_t none_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+size_t none_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+int none_final(struct compr_ctx *ctx); Err bitreich.org 70 i+ Err bitreich.org 70 i+/* compress-lz4.c */ Err bitreich.org 70 i+int lz4_init(struct compr_ctx *ctx); Err bitreich.org 70 i+size_t lz4_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i+size_t lz4_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+size_t lz4_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+int lz4_final(struct compr_ctx *ctx); Err bitreich.org 70 i+ Err bitreich.org 70 i+/* compress-snappy.c */ Err bitreich.org 70 i+int snappy_init(struct compr_ctx *ctx); Err bitreich.org 70 i+size_t snappy_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 i+size_t snappy_compr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+size_t snappy_decompr(struct compr_ctx *ctx, const void *in, void *out, Err bitreich.org 70 i+ size_t insize, size_t outsize); Err bitreich.org 70 i+int snappy_final(struct compr_ctx *ctx); Err bitreich.org 70 i+ Err bitreich.org 70 i /* compress.c */ Err bitreich.org 70 i int compr_init(struct compr_ctx *ctx, int type); Err bitreich.org 70 i int compr_size(struct compr_ctx *ctx, size_t n); Err bitreich.org 70 .