[PATCH 0/3] repack: handle --keep-pack, --max-pack-size for geometric repacks
From: Taylor Blau <hidden>
Date: 2022-05-20 19:01:48
This series fixes two issues that Victoria and I noticed while working on an
unrelated issue yesterday.
- The first patch comes from Victoria's earlier submission[1], and addresses
an issue where packs specified as kept via the `--keep-pack` option could
potentially be removed (without rewriting their objects) during a
`--geometric` repack.
The first patch is Victoria's alone, with some minor fixups applied from my
review in [2]. It's included in this series since it's related, and avoids
any conflicts when merging.
- The latter two patches are mine, and address an issue where specifying a
`--max-pack-size` value during a `--geometric` repack could result in object
loss because of a false positive in our "did we write a pack with this
name?" check (which can occur when the list of packs we wrote isn't sorted).
The first of these two patches demonstrates the issue (done in a separate
patch, since the scenario is quite involved), and the second patch fixes the
bug.
Thanks in advance for your review.
[1]: https://lore.kernel.org/git/pull.1235.git.1653064572170.gitgitgadget@gmail.com/ (local)
[2]: https://lore.kernel.org/git/YofJLv8+x5J7yPmf@nand.local/ (local)
Taylor Blau (2):
t7703: demonstrate object corruption with pack.packSizeLimit
builtin/repack.c: ensure that `names` is sorted
Victoria Dye (1):
repack: respect --keep-pack with geometric repack
builtin/repack.c | 49 ++++++++++++++++++------
t/t7703-repack-geometric.sh | 75 +++++++++++++++++++++++++++++++++++++
2 files changed, 112 insertions(+), 12 deletions(-)
--
2.36.1.94.gb0d54bedca