iStore store compression status in the store header - 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 13bf2f947a35134d17043151e3a07f7aa86155b1 /scm/dedup/commit/13bf2f947a35134d17043151e3a07f7aa86155b1.gph bitreich.org 70 1parent bea0c2a2d0e5dd3b04fd7888bcaf6ab3eb87fa79 /scm/dedup/commit/bea0c2a2d0e5dd3b04fd7888bcaf6ab3eb87fa79.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Sun, 3 Mar 2019 13:24:04 +0000 Err bitreich.org 70 i Err bitreich.org 70 iStore store compression status in the store header Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M dedup.c | 10 ++++++++++ Err bitreich.org 70 i M dedup.h | 3 +++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 13 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/dedup.c b/dedup.c /scm/dedup/file/dedup.c.gph bitreich.org 70 i@@ -511,15 +511,25 @@ static void Err bitreich.org 70 i init_blk_hdr(void) Err bitreich.org 70 i { Err bitreich.org 70 i blk_hdr.flags = (VER_MAJ << VER_MAJ_SHIFT) | VER_MIN; Err bitreich.org 70 i+ blk_hdr.flags |= compr_enabled << COMPR_ENABLED_SHIFT; Err bitreich.org 70 i blk_hdr.size = BLK_HDR_SIZE; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i load_blk_hdr(void) Err bitreich.org 70 i { Err bitreich.org 70 i+ uint64_t v; Err bitreich.org 70 i+ Err bitreich.org 70 i xlseek(sfd, 0, SEEK_SET); Err bitreich.org 70 i read_blk_hdr(sfd, &blk_hdr); Err bitreich.org 70 i match_ver(blk_hdr.flags); Err bitreich.org 70 i+ Err bitreich.org 70 i+ v = blk_hdr.flags >> COMPR_ENABLED_SHIFT; Err bitreich.org 70 i+ v &= COMPR_ENABLED_MASK; Err bitreich.org 70 i+ if (v != compr_enabled) Err bitreich.org 70 i+ errx(1, "store is %s but dedup was invoked %s", Err bitreich.org 70 i+ v ? "compressed" : "not compressed", Err bitreich.org 70 i+ compr_enabled ? "with compression" : "without compression"); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -23,6 +23,9 @@ Err bitreich.org 70 i #define VER_MAJ_SHIFT 8 Err bitreich.org 70 i #define VER_MAJ_MASK 0xff Err bitreich.org 70 i Err bitreich.org 70 i+#define COMPR_ENABLED_SHIFT 16 Err bitreich.org 70 i+#define COMPR_ENABLED_MASK 0x1 Err bitreich.org 70 i+ Err bitreich.org 70 i struct cache; Err bitreich.org 70 i struct chunker; Err bitreich.org 70 i Err bitreich.org 70 .