pack-objects: merge read_lock and lock in packing_data struct
[gitweb.git] / object-store.h
index 67e66227d9c41e2f3036d0aeb89afaf5a17ec98a..63b7605a3e0b3000641d8f39f22e1d5c8139f19b 100644 (file)
@@ -88,6 +88,8 @@ struct packed_git {
        char pack_name[FLEX_ARRAY]; /* more */
 };
 
+struct multi_pack_index;
+
 struct raw_object_store {
        /*
         * Path to the repository's object store.
@@ -110,6 +112,13 @@ struct raw_object_store {
        struct commit_graph *commit_graph;
        unsigned commit_graph_attempted : 1; /* if loading has been attempted */
 
+       /*
+        * private data
+        *
+        * should only be accessed directly by packfile.c and midx.c
+        */
+       struct multi_pack_index *multi_pack_index;
+
        /*
         * private data
         *
@@ -120,6 +129,12 @@ struct raw_object_store {
        /* A most-recently-used ordered version of the packed_git list. */
        struct list_head packed_git_mru;
 
+       /*
+        * A linked list containing all packfiles, starting with those
+        * contained in the multi_pack_index.
+        */
+       struct packed_git *all_packs;
+
        /*
         * A fast, rough count of the number of objects in the repository.
         * These two fields are not meant for direct access. Use