diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2017-09-12 10:28:39 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-14 15:05:48 +0900 |
commit | 607bd8315c6886eb61561bbba394616bc6fdf031 (patch) | |
tree | e6ef91ad9da913688e3d7e90cfda0efeb1027063 /packfile.c | |
parent | 6867272d5b5615bd74ec97bf35b4c4a8d9fe3a51 (diff) | |
download | git-607bd8315c6886eb61561bbba394616bc6fdf031.tar.gz git-607bd8315c6886eb61561bbba394616bc6fdf031.tar.xz |
pack: make packed_git_mru global a value instead of a pointer
The MRU cache that keeps track of recently used packs is represented
using two global variables:
struct mru packed_git_mru_storage;
struct mru *packed_git_mru = &packed_git_mru_storage;
Callers never assign to the packed_git_mru pointer, though, so we can
simplify by eliminating it and using &packed_git_mru_storage (renamed
to &packed_git_mru) directly. This variable is only used by the
packfile subsystem, making this a relatively uninvasive change (and
any new unadapted callers would trigger a compile error).
Noticed while moving these globals to the object_store struct.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'packfile.c')
-rw-r--r-- | packfile.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/packfile.c b/packfile.c index f86fa051c..f69a5c8d6 100644 --- a/packfile.c +++ b/packfile.c @@ -40,9 +40,7 @@ static unsigned int pack_max_fds; static size_t peak_pack_mapped; static size_t pack_mapped; struct packed_git *packed_git; - -static struct mru packed_git_mru_storage; -struct mru *packed_git_mru = &packed_git_mru_storage; +struct mru packed_git_mru; #define SZ_FMT PRIuMAX static inline uintmax_t sz_fmt(size_t s) { return s; } @@ -861,9 +859,9 @@ static void prepare_packed_git_mru(void) { struct packed_git *p; - mru_clear(packed_git_mru); + mru_clear(&packed_git_mru); for (p = packed_git; p; p = p->next) - mru_append(packed_git_mru, p); + mru_append(&packed_git_mru, p); } static int prepare_packed_git_run_once = 0; @@ -1832,9 +1830,9 @@ int find_pack_entry(const unsigned char *sha1, struct pack_entry *e) if (!packed_git) return 0; - for (p = packed_git_mru->head; p; p = p->next) { + for (p = packed_git_mru.head; p; p = p->next) { if (fill_pack_entry(sha1, e, p->item)) { - mru_mark(packed_git_mru, p); + mru_mark(&packed_git_mru, p); return 1; } } |