From: Stefano Babic Date: Fri, 10 Sep 2021 20:39:01 +0000 (+0200) Subject: Do not duplicate index structure for uncompressed X-Git-Tag: archive/raspbian/1.2.1+ds1-1+rpi1^2~7^2~1^2~17^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=75a92188f317b5c779516b34114c09f3373d62fb;p=zchunk.git Do not duplicate index structure for uncompressed Index is just one, there is no need to duplicate the structure to support uthash for digest related to the uncompressed data. Drop index_uncomp and add uthash for uncompressed data. Signed-off-by: Stefano Babic --- diff --git a/src/lib/index/index_read.c b/src/lib/index/index_read.c index 9b2c435..36357da 100644 --- a/src/lib/index/index_read.c +++ b/src/lib/index/index_read.c @@ -105,9 +105,9 @@ bool index_read(zckCtx *zck, char *data, size_t size, size_t max_length) { return false; } memcpy(new->digest_uncompressed, data+length, zck->index.digest_size); - HASH_FIND(hh, zck->index.ht, new->digest, new->digest_size, tmp); + HASH_FIND(hhuncomp, zck->index.htuncomp, new->digest_uncompressed, new->digest_size, tmp); if(!tmp) - HASH_ADD_KEYPTR(hhuncomp, zck->index_uncomp.ht, new->digest_uncompressed, new->digest_size, + HASH_ADD_KEYPTR(hhuncomp, zck->index.htuncomp, new->digest_uncompressed, new->digest_size, new); length += zck->index.digest_size; } diff --git a/src/lib/zck_private.h b/src/lib/zck_private.h index 019bdb2..fa7ee77 100644 --- a/src/lib/zck_private.h +++ b/src/lib/zck_private.h @@ -173,6 +173,7 @@ struct zckIndex { zckChunk *last; zckChunk *current; zckChunk *ht; + zckChunk *htuncomp; }; /* Contains a single range */ @@ -264,7 +265,6 @@ struct zckCtx { zckIndex index; zckChunk *work_index_item; zckHash work_index_hash; - zckIndex index_uncomp; zckChunk *work_index_item_uncomp; zckHash work_index_hash_uncomp; size_t stream;