Factor out snapshot hash calculation to a function - dedup - deduplicating back… | |
git clone git://bitreich.org/dedup/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
commit 4122001dbfb14b263965c955e865a6c04151fbbc | |
parent 4106dd721d10db6f7ba0fe25009a85be8c5bee61 | |
Author: sin <[email protected]> | |
Date: Sun, 10 Mar 2019 10:25:26 +0000 | |
Factor out snapshot hash calculation to a function | |
Diffstat: | |
M dedup.c | 37 ++++++++++++++++++-----------… | |
1 file changed, 21 insertions(+), 16 deletions(-) | |
--- | |
diff --git a/dedup.c b/dedup.c | |
@@ -88,6 +88,26 @@ free_snap(struct snapshot *snap) | |
free(snap); | |
} | |
+/* | |
+ * The snapshot hash is calculated over the | |
+ * hash of its block descriptors. | |
+ */ | |
+static void | |
+hash_snap(struct snapshot *snap, uint8_t *md) | |
+{ | |
+ SHA256_CTX ctx; | |
+ uint64_t i; | |
+ | |
+ SHA256_Init(&ctx); | |
+ for (i = 0; i < snap->nr_blk_descs; i++) { | |
+ struct blk_desc *blk_desc; | |
+ | |
+ blk_desc = &snap->blk_desc[i]; | |
+ SHA256_Update(&ctx, blk_desc->md, sizeof(blk_desc->md)); | |
+ } | |
+ SHA256_Final(md, &ctx); | |
+} | |
+ | |
static struct snapshot * | |
grow_snap(struct snapshot *snap, uint64_t nr_blk_descs) | |
{ | |
@@ -245,22 +265,7 @@ dedup(int fd, char *msg) | |
} | |
if (snap->nr_blk_descs > 0) { | |
- SHA256_CTX ctx; | |
- uint64_t i; | |
- | |
- /* | |
- * The snapshot hash is calculated over the | |
- * hash of its block descriptors. | |
- */ | |
- SHA256_Init(&ctx); | |
- for (i = 0; i < snap->nr_blk_descs; i++) { | |
- struct blk_desc *blk_desc; | |
- | |
- blk_desc = &snap->blk_desc[i]; | |
- SHA256_Update(&ctx, blk_desc->md, | |
- sizeof(blk_desc->md)); | |
- } | |
- SHA256_Final(snap->md, &ctx); | |
+ hash_snap(snap, snap->md); | |
if (msg != NULL) { | |
size_t size; |