iPass chunker params from caller - 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 ba61c65bb274657b7ea643de789db2a24ea836f8 /scm/dedup/commit/ba61c65bb274657b7ea643de789db2a24ea836f8.gph bitreich.org 70 1parent 1b1447f899bb2dc4b78ec0b915c71343009ca9c5 /scm/dedup/commit/1b1447f899bb2dc4b78ec0b915c71343009ca9c5.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Sat, 9 Mar 2019 22:15:26 +0000 Err bitreich.org 70 i Err bitreich.org 70 iPass chunker params from caller Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M chunker.c | 18 +++++++++--------- Err bitreich.org 70 i M dedup.c | 3 ++- Err bitreich.org 70 i M dedup.h | 4 +++- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 14 insertions(+), 11 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/chunker.c b/chunker.c /scm/dedup/file/chunker.c.gph bitreich.org 70 i@@ -12,7 +12,6 @@ Err bitreich.org 70 i struct chunker { Err bitreich.org 70 i uint8_t *buf; Err bitreich.org 70 i int fd; Err bitreich.org 70 i- size_t cap; Err bitreich.org 70 i size_t rpos; Err bitreich.org 70 i size_t wpos; Err bitreich.org 70 i size_t min_size; Err bitreich.org 70 i@@ -131,7 +130,8 @@ get_chunk_size(struct chunker *chunker) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i struct chunker * Err bitreich.org 70 i-alloc_chunker(int fd, size_t cap) Err bitreich.org 70 i+alloc_chunker(int fd, size_t min_size, size_t max_size, Err bitreich.org 70 i+ size_t mask, size_t win_size) Err bitreich.org 70 i { Err bitreich.org 70 i struct chunker *chunker; Err bitreich.org 70 i Err bitreich.org 70 i@@ -139,15 +139,15 @@ alloc_chunker(int fd, size_t cap) Err bitreich.org 70 i if (chunker == NULL) Err bitreich.org 70 i err(1, "calloc"); Err bitreich.org 70 i Err bitreich.org 70 i- chunker->buf = calloc(1, cap); Err bitreich.org 70 i+ chunker->buf = calloc(1, max_size); Err bitreich.org 70 i if (chunker->buf == NULL) Err bitreich.org 70 i err(1, "calloc"); Err bitreich.org 70 i+ Err bitreich.org 70 i chunker->fd = fd; Err bitreich.org 70 i- chunker->cap = cap; Err bitreich.org 70 i- chunker->min_size = BLKSIZE_MIN; Err bitreich.org 70 i- chunker->max_size = BLKSIZE_MAX; Err bitreich.org 70 i- chunker->mask = HASHMASK_BITS; Err bitreich.org 70 i- chunker->win_size = WINSIZE; Err bitreich.org 70 i+ chunker->min_size = min_size; Err bitreich.org 70 i+ chunker->max_size = max_size; Err bitreich.org 70 i+ chunker->mask = mask; Err bitreich.org 70 i+ chunker->win_size = win_size; Err bitreich.org 70 i Err bitreich.org 70 i return chunker; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -166,7 +166,7 @@ fill_chunker(struct chunker *chunker) Err bitreich.org 70 i ssize_t n; Err bitreich.org 70 i Err bitreich.org 70 i bp = &chunker->buf[chunker->wpos]; Err bitreich.org 70 i- n = xread(chunker->fd, bp, chunker->cap - chunker->wpos); Err bitreich.org 70 i+ n = xread(chunker->fd, bp, chunker->max_size - chunker->wpos); Err bitreich.org 70 i chunker->wpos += n; Err bitreich.org 70 i return chunker->wpos; 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@@ -233,7 +233,8 @@ dedup(int fd, char *msg) Err bitreich.org 70 i ssize_t n; Err bitreich.org 70 i Err bitreich.org 70 i snap = alloc_snap(); Err bitreich.org 70 i- chunker = alloc_chunker(fd, BLKSIZE_MAX); Err bitreich.org 70 i+ chunker = alloc_chunker(fd, BLKSIZE_MIN, BLKSIZE_MAX, Err bitreich.org 70 i+ HASHMASK_BITS, WINSIZE); Err bitreich.org 70 i Err bitreich.org 70 i SHA256_Init(&ctx); Err bitreich.org 70 i while ((n = fill_chunker(chunker)) > 0) { Err bitreich.org 70 1diff --git a/dedup.h b/dedup.h /scm/dedup/file/dedup.h.gph bitreich.org 70 i@@ -77,7 +77,9 @@ void add_cache_entry(struct cache *cache, struct blk_desc *desc); Err bitreich.org 70 i int lookup_cache_entry(struct cache *cache, struct blk_desc *desc); Err bitreich.org 70 i Err bitreich.org 70 i /* chunker.c */ Err bitreich.org 70 i-struct chunker *alloc_chunker(int fd, size_t cap); Err bitreich.org 70 i+struct chunker * Err bitreich.org 70 i+alloc_chunker(int fd, size_t min_size, size_t max_size, Err bitreich.org 70 i+ size_t mask, size_t win_size); Err bitreich.org 70 i void free_chunker(struct chunker *chunker); Err bitreich.org 70 i 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 .