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@xxxxxxxxxxxxxxxxxxxxxxx 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