This series fixes two races related to using multi-pack bitmaps in pack-objects. The crux of both is that we call `is_pack_valid()` far too late, leaving us in a situation where `pack-objects` committed to using objects from a specific pack in the MIDX bitmap, without having actually opened those packs. So if those packs are removed in the background (e.g., due to a simultaneous repack), any ongoing clones or fetches will see this error message: remote: Enumerating objects: 1498802, done. remote: fatal: packfile ./objects/pack/pack-$HASH.pack cannot be accessed remote: aborting due to possible repository corruption on the remote side. See 4c08018204 (pack-objects: protect against disappearing packs, 2011-10-14) and bab919bd44 (pack-bitmap: check pack validity when opening bitmap, 2015-03-26) for previous treatment of similar issues. Taylor Blau (2): pack-bitmap: check preferred pack validity when opening MIDX bitmap builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects builtin/pack-objects.c | 8 ++++++-- pack-bitmap.c | 19 +++++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) -- 2.36.1.76.g80c0bcd80e