summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorAlex Vandiver <alexmv@dropbox.com>2017-10-27 23:26:37 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-11-01 04:28:20 (GMT)
commitba1b9caca69909b3c048bda1bbfab4fefb070bff (patch)
treeef919abbc8d153cd613c69ca6b394df277d06294 /cache.h
parentbd76afd13dcee4a07ba5136704ac8592af26d332 (diff)
downloadgit-ba1b9caca69909b3c048bda1bbfab4fefb070bff.zip
git-ba1b9caca69909b3c048bda1bbfab4fefb070bff.tar.gz
git-ba1b9caca69909b3c048bda1bbfab4fefb070bff.tar.bz2
fsmonitor: delay updating state until after split index is merged
If the fsmonitor extension is used in conjunction with the split index extension, the set of entries in the index when it is first loaded is only a subset of the real index. This leads to only the non-"base" index being marked as CE_FSMONITOR_VALID. Delay the expansion of the ewah bitmap until after tweak_split_index has been called to merge in the base index as well. The new fsmonitor_dirty is kept from being leaked by dint of being cleaned up in post_read_index_from, which is guaranteed to be called after do_read_index in read_index_from. Signed-off-by: Alex Vandiver <alexmv@dropbox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index f1c903e..a15edc7 100644
--- a/cache.h
+++ b/cache.h
@@ -347,6 +347,7 @@ struct index_state {
unsigned char sha1[20];
struct untracked_cache *untracked;
uint64_t fsmonitor_last_update;
+ struct ewah_bitmap *fsmonitor_dirty;
};
extern struct index_state the_index;