diff options
Diffstat (limited to 'midx-write.c')
| -rw-r--r-- | midx-write.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/midx-write.c b/midx-write.c index 87b97c7087..6485cb6706 100644 --- a/midx-write.c +++ b/midx-write.c @@ -1012,6 +1012,20 @@ static bool midx_needs_update(struct multi_pack_index *midx, struct write_midx_c bool needed = true; /* + * Ensure that we have a valid checksum before consulting the + * exisiting MIDX in order to determine if we can avoid an + * update. + * + * This is necessary because the given MIDX is loaded directly + * from the object store (because we still compare our proposed + * update to any on-disk MIDX regardless of whether or not we + * have assigned "ctx.m") and is thus not guaranteed to have a + * valid checksum. + */ + if (!midx_checksum_valid(midx)) + goto out; + + /* * Ignore incremental updates for now. The assumption is that any * incremental update would be either empty (in which case we will bail * out later) or it would actually cover at least one new pack. |
