cache-tree: fix writing cache-tree when CE_REMOVE is present
entry_count is used in update_one() for two purposes: 1. to skip through the number of processed entries in in-memory index 2. to record the number of entries this cache-tree covers on disk Unfortunately when CE_REMOVE is present these numbers are not the same because CE_REMOVE entries are automatically removed before writing to disk but entry_count is not adjusted and still counts CE_REMOVE entries. Separate the two use cases into two different variables. #1 is taken care by the new field count in struct cache_tree_sub and entry_count is prepared for #2. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
386cc8b031
commit
3cf773e426
@ -7,6 +7,7 @@
|
||||
struct cache_tree;
|
||||
struct cache_tree_sub {
|
||||
struct cache_tree *cache_tree;
|
||||
int count; /* internally used by update_one() */
|
||||
int namelen;
|
||||
int used;
|
||||
char name[FLEX_ARRAY];
|
||||
|
Reference in New Issue
Block a user