iMove stats around - 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 820025dc64924ea3ad82dcf3f7c4a8f99f3f671b /scm/dedup/commit/820025dc64924ea3ad82dcf3f7c4a8f99f3f671b.gph bitreich.org 70 1parent 1645c1ef873c034c8cff4251350df524b789487d /scm/dedup/commit/1645c1ef873c034c8cff4251350df524b789487d.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Sat, 2 Mar 2019 00:46:11 +0000 Err bitreich.org 70 i Err bitreich.org 70 iMove stats around Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M dedup.c | 20 ++++++++++---------- Err bitreich.org 70 i M dedup.h | 21 ++++++++++----------- Err bitreich.org 70 i M types.c | 64 ++++++++++++------------------- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 44 insertions(+), 61 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@@ -216,8 +216,8 @@ dedup_chunk(struct snapshot *snap, uint8_t *chunkp, size_t chunk_size) Err bitreich.org 70 i n = comp(chunkp, comp_buf, chunk_size, comp_size(BLKSIZE_MAX)); Err bitreich.org 70 i hash_blk(comp_buf, n, md); Err bitreich.org 70 i Err bitreich.org 70 i- blk_hdr.st.orig_size += chunk_size; Err bitreich.org 70 i- blk_hdr.st.comp_size += n; Err bitreich.org 70 i+ snap_hdr.st.orig_size += chunk_size; Err bitreich.org 70 i+ snap_hdr.st.comp_size += n; Err bitreich.org 70 i Err bitreich.org 70 i memcpy(cache_entry.md, md, sizeof(cache_entry.md)); Err bitreich.org 70 i if (lookup_cache_entry(cache, &cache_entry) < 0) { Err bitreich.org 70 i@@ -236,13 +236,13 @@ dedup_chunk(struct snapshot *snap, uint8_t *chunkp, size_t chunk_size) Err bitreich.org 70 i add_cache_entry(cache, &cache_entry); Err bitreich.org 70 i cache_misses++; Err bitreich.org 70 i Err bitreich.org 70 i- blk_hdr.st.dedup_size += blk_desc.size; Err bitreich.org 70 i- blk_hdr.st.nr_blks++; Err bitreich.org 70 i+ snap_hdr.st.dedup_size += blk_desc.size; Err bitreich.org 70 i+ snap_hdr.st.nr_blks++; Err bitreich.org 70 i Err bitreich.org 70 i- if (blk_desc.size > blk_hdr.st.max_blk_size) Err bitreich.org 70 i- blk_hdr.st.max_blk_size = blk_desc.size; Err bitreich.org 70 i- if (blk_desc.size < blk_hdr.st.min_blk_size) Err bitreich.org 70 i- blk_hdr.st.min_blk_size = blk_desc.size; Err bitreich.org 70 i+ if (blk_desc.size > snap_hdr.st.max_blk_size) Err bitreich.org 70 i+ snap_hdr.st.max_blk_size = blk_desc.size; Err bitreich.org 70 i+ if (blk_desc.size < snap_hdr.st.min_blk_size) Err bitreich.org 70 i+ snap_hdr.st.min_blk_size = blk_desc.size; Err bitreich.org 70 i } else { Err bitreich.org 70 i struct blk_desc blk_desc; Err bitreich.org 70 i Err bitreich.org 70 i@@ -494,7 +494,6 @@ load_blk_hdr(void) Err bitreich.org 70 i if (sb.st_size == 0) { Err bitreich.org 70 i blk_hdr.flags = (VER_MAJ << 8) | VER_MIN; Err bitreich.org 70 i blk_hdr.size = BLK_HDR_LEN; Err bitreich.org 70 i- blk_hdr.st.min_blk_size = comp_size(BLKSIZE_MAX); Err bitreich.org 70 i write_blk_hdr(sfd, &blk_hdr); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -520,6 +519,7 @@ load_snap_hdr(void) Err bitreich.org 70 i if (sb.st_size == 0) { Err bitreich.org 70 i snap_hdr.flags = (VER_MAJ << 8) | VER_MIN; Err bitreich.org 70 i snap_hdr.size = SNAP_HDR_LEN; Err bitreich.org 70 i+ snap_hdr.st.min_blk_size = comp_size(BLKSIZE_MAX); Err bitreich.org 70 i write_snap_hdr(ifd, &snap_hdr); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -566,7 +566,7 @@ static void Err bitreich.org 70 i term(void) Err bitreich.org 70 i { Err bitreich.org 70 i if (verbose > 0) Err bitreich.org 70 i- print_stats(&blk_hdr.st); Err bitreich.org 70 i+ print_stats(&snap_hdr.st); Err bitreich.org 70 i Err bitreich.org 70 i save_snap_hdr(); Err bitreich.org 70 i save_blk_hdr(); Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -6,8 +6,8 @@ Err bitreich.org 70 i * using the helpers from types.c. Any modification made to Err bitreich.org 70 i * the structs below will need to be reflected here and in types.c. Err bitreich.org 70 i */ Err bitreich.org 70 i-#define SNAP_HDR_LEN 56 Err bitreich.org 70 i-#define BLK_HDR_LEN 112 Err bitreich.org 70 i+#define SNAP_HDR_LEN 104 Err bitreich.org 70 i+#define BLK_HDR_LEN 16 Err bitreich.org 70 i #define BLK_DESC_LEN 48 Err bitreich.org 70 i #define SNAPSHOT_LEN 304 Err bitreich.org 70 i #define CACHE_ENTRY_LEN 48 Err bitreich.org 70 i@@ -22,13 +22,6 @@ Err bitreich.org 70 i struct cache; Err bitreich.org 70 i struct chunker; Err bitreich.org 70 i Err bitreich.org 70 i-struct snapshot_hdr { Err bitreich.org 70 i- uint64_t flags; /* bottom 16 bits are maj/min version */ Err bitreich.org 70 i- uint64_t size; /* size of snapshots file */ Err bitreich.org 70 i- uint64_t nr_snapshots; Err bitreich.org 70 i- uint64_t reserved[4]; Err bitreich.org 70 i-}; Err bitreich.org 70 i- Err bitreich.org 70 i struct stats { Err bitreich.org 70 i uint64_t orig_size; /* original store size */ Err bitreich.org 70 i uint64_t comp_size; /* compressed store size */ Err bitreich.org 70 i@@ -36,13 +29,19 @@ struct stats { Err bitreich.org 70 i uint64_t min_blk_size; Err bitreich.org 70 i uint64_t max_blk_size; Err bitreich.org 70 i uint64_t nr_blks; /* number of unique blocks */ Err bitreich.org 70 i- uint64_t reserved[6]; Err bitreich.org 70 i+ uint64_t reserved[4]; Err bitreich.org 70 i+}; Err bitreich.org 70 i+ Err bitreich.org 70 i+struct snapshot_hdr { Err bitreich.org 70 i+ uint64_t flags; /* bottom 16 bits are maj/min version */ Err bitreich.org 70 i+ uint64_t size; /* size of snapshots file */ Err bitreich.org 70 i+ uint64_t nr_snapshots; Err bitreich.org 70 i+ struct stats st; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i struct blk_hdr { Err bitreich.org 70 i uint64_t flags; /* bottom 16 bits are maj/min version */ Err bitreich.org 70 i uint64_t size; /* size of store file */ Err bitreich.org 70 i- struct stats st; Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i struct blk_desc { Err bitreich.org 70 1diff --git a/types.c b/types.c /scm/dedup/file/types.c.gph bitreich.org 70 i@@ -20,11 +20,19 @@ read_snap_hdr(int fd, struct snapshot_hdr *hdr) Err bitreich.org 70 i &hdr->size, Err bitreich.org 70 i &hdr->nr_snapshots); Err bitreich.org 70 i Err bitreich.org 70 i+ n += unpack(&buf[n], "qqqqqq", Err bitreich.org 70 i+ &hdr->st.orig_size, Err bitreich.org 70 i+ &hdr->st.comp_size, Err bitreich.org 70 i+ &hdr->st.dedup_size, Err bitreich.org 70 i+ &hdr->st.min_blk_size, Err bitreich.org 70 i+ &hdr->st.max_blk_size, Err bitreich.org 70 i+ &hdr->st.nr_blks); Err bitreich.org 70 i+ Err bitreich.org 70 i n += unpack(&buf[n], "qqqq", Err bitreich.org 70 i- &hdr->reserved[0], Err bitreich.org 70 i- &hdr->reserved[1], Err bitreich.org 70 i- &hdr->reserved[2], Err bitreich.org 70 i- &hdr->reserved[3]); Err bitreich.org 70 i+ &hdr->st.reserved[0], Err bitreich.org 70 i+ &hdr->st.reserved[1], Err bitreich.org 70 i+ &hdr->st.reserved[2], Err bitreich.org 70 i+ &hdr->st.reserved[3]); Err bitreich.org 70 i Err bitreich.org 70 i assert(n == SNAP_HDR_LEN); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -40,11 +48,19 @@ write_snap_hdr(int fd, struct snapshot_hdr *hdr) Err bitreich.org 70 i hdr->size, Err bitreich.org 70 i hdr->nr_snapshots); Err bitreich.org 70 i Err bitreich.org 70 i+ n += pack(&buf[n], "qqqqqq", Err bitreich.org 70 i+ hdr->st.orig_size, Err bitreich.org 70 i+ hdr->st.comp_size, Err bitreich.org 70 i+ hdr->st.dedup_size, Err bitreich.org 70 i+ hdr->st.min_blk_size, Err bitreich.org 70 i+ hdr->st.max_blk_size, Err bitreich.org 70 i+ hdr->st.nr_blks); Err bitreich.org 70 i+ Err bitreich.org 70 i n += pack(&buf[n], "qqqq", Err bitreich.org 70 i- hdr->reserved[0], Err bitreich.org 70 i- hdr->reserved[1], Err bitreich.org 70 i- hdr->reserved[2], Err bitreich.org 70 i- hdr->reserved[3]); Err bitreich.org 70 i+ hdr->st.reserved[0], Err bitreich.org 70 i+ hdr->st.reserved[1], Err bitreich.org 70 i+ hdr->st.reserved[2], Err bitreich.org 70 i+ hdr->st.reserved[3]); Err bitreich.org 70 i Err bitreich.org 70 i assert(n == SNAP_HDR_LEN); Err bitreich.org 70 i xwrite(fd, buf, n); Err bitreich.org 70 i@@ -63,22 +79,6 @@ read_blk_hdr(int fd, struct blk_hdr *hdr) Err bitreich.org 70 i &hdr->flags, Err bitreich.org 70 i &hdr->size); Err bitreich.org 70 i Err bitreich.org 70 i- n += unpack(&buf[n], "qqqqqq", Err bitreich.org 70 i- &hdr->st.orig_size, Err bitreich.org 70 i- &hdr->st.comp_size, Err bitreich.org 70 i- &hdr->st.dedup_size, Err bitreich.org 70 i- &hdr->st.min_blk_size, Err bitreich.org 70 i- &hdr->st.max_blk_size, Err bitreich.org 70 i- &hdr->st.nr_blks); Err bitreich.org 70 i- Err bitreich.org 70 i- n += unpack(&buf[n], "qqqqqq", Err bitreich.org 70 i- &hdr->st.reserved[0], Err bitreich.org 70 i- &hdr->st.reserved[1], Err bitreich.org 70 i- &hdr->st.reserved[2], Err bitreich.org 70 i- &hdr->st.reserved[3], Err bitreich.org 70 i- &hdr->st.reserved[4], Err bitreich.org 70 i- &hdr->st.reserved[5]); Err bitreich.org 70 i- Err bitreich.org 70 i assert(n == BLK_HDR_LEN); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -92,22 +92,6 @@ write_blk_hdr(int fd, struct blk_hdr *hdr) Err bitreich.org 70 i hdr->flags, Err bitreich.org 70 i hdr->size); Err bitreich.org 70 i Err bitreich.org 70 i- n += pack(&buf[n], "qqqqqq", Err bitreich.org 70 i- hdr->st.orig_size, Err bitreich.org 70 i- hdr->st.comp_size, Err bitreich.org 70 i- hdr->st.dedup_size, Err bitreich.org 70 i- hdr->st.min_blk_size, Err bitreich.org 70 i- hdr->st.max_blk_size, Err bitreich.org 70 i- hdr->st.nr_blks); Err bitreich.org 70 i- Err bitreich.org 70 i- n += pack(&buf[n], "qqqqqq", Err bitreich.org 70 i- hdr->st.reserved[0], Err bitreich.org 70 i- hdr->st.reserved[1], Err bitreich.org 70 i- hdr->st.reserved[2], Err bitreich.org 70 i- hdr->st.reserved[3], Err bitreich.org 70 i- hdr->st.reserved[4], Err bitreich.org 70 i- hdr->st.reserved[5]); Err bitreich.org 70 i- Err bitreich.org 70 i assert(n == BLK_HDR_LEN); Err bitreich.org 70 i xwrite(fd, buf, n); Err bitreich.org 70 i } Err bitreich.org 70 .