pack: make packed_git_mru global a value instead of a pointer
PATCH 1/1 pack: make packed_git_mru global a value instead of a pointer
--- builtin/pack-objects.c | 5 +++-- cache.h | 7 ------- list.h | 6 ++++++ packfile.c | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-)
This patch makes packed_git_mru global a value instead of a pointer and makes use of list.h
builtin/pack-objects.c +3 -2
@@ -1,5 +1,6 @@#include "builtin.h" #include "cache.h" +#include "list.h" #include "config.h" #include "attr.h" #include "object.h"
@@ -1012,7 +1013,7 @@ static int want_object_in_pack(const unsigned char *sha1,return want; } -for (entry = packed_git_mru->head; entry; entry = entry->next) { +for (entry = packed_git_mru.head; entry; entry = entry->next) {struct packed_git *p = entry->item;off_t offset;
@@ -1030,7 +1031,7 @@ static int want_object_in_pack(const unsigned char *sha1, } want =want_found_object (exclude, p);if (!exclude && want >0 ) -mru_mark (packed_git_mru, entry); +mru_mark (&packed_git_mru, entry);if (want !=-1 )return want; }
cache.h +0 -7
@@ -1585,13 +1585,6 @@ extern struct packed_git {char pack_name[FLEX_ARRAY ];/* more */ } *packed_git; -/* -* A most-recently-used ordered version of the packed_git list, which can -* be iterated instead of packed_git (and marked via mru_mark). -*/ -struct mru ; -extern struct mru *packed_git_mru; -struct pack_entry {off_t offset;unsigned char sha1[20 ];
list.h +6 -0
@@ -26,6 +26,12 @@#define LIST_H 1/* +* A most-recently-used ordered version of the packed_git list, which can +* be iterated instead of packed_git (and marked via mru_mark). +*/ +extern struct mru packed_git_mru + +/* * The definitions of this file are adopted from those which can be * found in the Linux kernel headers to enable people familiar with the * latter find their way in these sources as well.
packfile.c +6 -6
@@ -1,4 +1,5 @@#include "cache.h" +#include "list.h" #include "mru.h" #include "pack.h" #include "dir.h"
@@ -41,8 +42,7 @@ 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 PRIuMAXstatic inline uintmax_t sz_fmt (size_t s) {return s; }
@@ -861,9 +861,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 +1832,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 ; } }
Signature · 1 line
2.7.4
Quoted 10 lines · phionah bugosi
Signed-off-by phionah bugosi <[email protected]>--- builtin/pack-objects.c | 5 +++-- cache.h | 7 ------- list.h | 6 ++++++ packfile.c | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-)This patch makes
packed_git_mruglobal a value instead of a pointer and makes use oflist.h
Please explain _why_ you are doing that (why is the resulting code better).
You may also add [Outreachy] in the patch subject to tell people that you are applying for the Outreachy round 15 program
(https://git.github.io/Outreachy-15/).
Thanks!
Quoted 9 lines · Christian Couder
Quoted 8 lines · phionah bugosi
Signed-off-by phionah bugosi <[email protected]>--- builtin/pack-objects.c | 5 +++-- cache.h | 7 ------- list.h | 6 ++++++ packfile.c | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-)
Quoted 4 lines
Quoted 2 lines
This patch makes
packed_git_mruglobal a value instead of a pointer and makes use oflist.hPlease explain _why_ you are doing that (why is the resulting code better).
Also the explanations should be in the commit message, that is above your "Signed-off-by: ..." line.
Quoted 11 lines · Christian Couder
Quoted 9 lines · Christian Couder
Quoted 8 lines · phionah bugosi
Signed-off-by phionah bugosi <[email protected]>--- builtin/pack-objects.c | 5 +++-- cache.h | 7 ------- list.h | 6 ++++++ packfile.c | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-)
Quoted 7 lines
Quoted 4 lines
Quoted 2 lines
This patch makes
packed_git_mruglobal a value instead of a pointer and makes use oflist.hPlease explain _why_ you are doing that (why is the resulting code better).
Also the explanations should be in the commit message, that is above your "Signed-off-by: ..." line.
A similar patch exists at origin/jn/per-repo-object-store-fixes^^ (I haven't checked if there are differences and if so which patch is better, all I am noting here, is that there has been work very similar to this one a couple days prior)