iRemove match_pattern and inline the code in the 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 eaed3251aefdb0cac2fb61970ccf2f8f52a097a2 /scm/dedup/commit/eaed3251aefdb0cac2fb61970ccf2f8f52a097a2.gph bitreich.org 70 1parent 99e39cb4a6a9a5b21bae79d2e8c304019565ad93 /scm/dedup/commit/99e39cb4a6a9a5b21bae79d2e8c304019565ad93.gph bitreich.org 70 hAuthor: sin URL:mailto:sin@2f30.org bitreich.org 70 iDate: Sat, 6 Apr 2019 09:33:34 +0100 Err bitreich.org 70 i Err bitreich.org 70 iRemove match_pattern and inline the code in the caller Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M chunker.c | 20 +++++++------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 7 insertions(+), 13 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@@ -83,16 +83,6 @@ buzh_update(uint32_t sum, uint8_t out, uint8_t in, size_t size) Err bitreich.org 70 i return ROTL(sum, 1) ^ ROTL(buz[out], size % 32) ^ buz[in]; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-static inline int Err bitreich.org 70 i-match_pattern(struct chunker *chunker, size_t chunk_size, uint32_t sum) Err bitreich.org 70 i-{ Err bitreich.org 70 i- if (chunk_size >= chunker->max_size) Err bitreich.org 70 i- return 1; Err bitreich.org 70 i- if (chunk_size < chunker->min_size) Err bitreich.org 70 i- return 0; Err bitreich.org 70 i- return (sum & chunker->mask) == 0; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i static size_t Err bitreich.org 70 i get_chunk_size(struct chunker *chunker) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -107,8 +97,8 @@ get_chunk_size(struct chunker *chunker) Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 i * To achieve better deduplication, we chunk blocks based on a Err bitreich.org 70 i- * recurring pattern occuring on the data stream. A fixed window Err bitreich.org 70 i- * of WINSIZE bytes is slid over the data, and a rolling hash is Err bitreich.org 70 i+ * recurring pattern occuring on the data stream. We slide a fixed Err bitreich.org 70 i+ * window of WINSIZE bytes over the data, and a rolling hash is Err bitreich.org 70 i * computed for this window. Err bitreich.org 70 i * When the rolling hash matches a given pattern the block is chunked Err bitreich.org 70 i * at the end of that window. Err bitreich.org 70 i@@ -125,7 +115,11 @@ get_chunk_size(struct chunker *chunker) Err bitreich.org 70 i sum = buzh_update(sum, out, in, win_size); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if (match_pattern(chunker, chunk_size, sum)) Err bitreich.org 70 i+ if (chunk_size < chunker->min_size) Err bitreich.org 70 i+ continue; Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (chunk_size >= chunker->max_size || Err bitreich.org 70 i+ (sum & chunker->mask) == 0) Err bitreich.org 70 i return chunk_size; Err bitreich.org 70 i } Err bitreich.org 70 i return max_chunk_size; Err bitreich.org 70 .