[PATCH 0/4] align the behavior when opening "packed-refs"
- From
shejialuo <shejialuo@gmail.com>
- Date
- May 6, 2025, 16:39 UTC
- Message-ID
- <aBo7OiCKHTyT4DzH@ArchLinux>
Hi All:
As discussed in [1], we need to use mmap mechanism to open large "packed_refs" file to save the memory usage. This patch mainly does the following things:
1: Fix an issue that we would report an error when the "packed-refs" file is empty, which does not align with the runtime behavior. 2-4: Extract some logic from the existing code and then use these created helper functions to let fsck code to use mmap necessarily
[1] https://lore.kernel.org/git/20250503133158.GA4450@coredump.intra.peff.net
Really thank Peff and Patrick to suggest me to do above change.
Thanks, Jialuo
shejialuo (4): packed-backend: skip checking consistency of empty packed-refs file packed-backend: extract snapshot allocation in `load_contents` packed-backend: extract munmap operation for `MMAP_TEMPORARY` packed-backend: use mmap when opening large "packed-refs" file
refs/packed-backend.c | 106 +++++++++++++++++++++++---------------- t/t0602-reffiles-fsck.sh | 13 +++++ 2 files changed, 75 insertions(+), 44 deletions(-)
-- 2.49.0