• Alex Vandiver's avatar
    fsmonitor: store fsmonitor bitmap before splitting index · 3bd28eb2
    Alex Vandiver authored
    ba1b9cac ("fsmonitor: delay updating state until after split index
    is merged", 2017-10-27) resolved the problem of the fsmonitor data
    being applied to the non-base index when reading; however, a similar
    problem exists when writing the index.  Specifically, writing of the
    fsmonitor extension happens only after the work to split the index
    has been applied -- as such, the information in the index is only
    for the non-"base" index, and thus the extension information
    contains only partial data.
    
    When saving, compute the ewah bitmap before the index is split, and
    store it in the fsmonitor_dirty field, mirroring the behavior that
    occurred during reading.  fsmonitor_dirty is kept from being leaked by
    being freed when the extension data is written -- which always happens
    precisely once, no matter the split index configuration.
    Signed-off-by: default avatarAlex Vandiver <alexmv@dropbox.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    3bd28eb2
fsmonitor.c 7.09 KB