git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 9/9] cache.h: allow sha1_object_info to handle arbitrary repositories

From
JTJonathan Tan <jonathantanmy@google.com>
Date
Apr 24, 2018, 18:55 UTC
Message-ID
<20180424115536.54fe1a62541624b2dbe06619@google.com>
In-Reply-To
<20180424184233.GA90854@google.com>

On Tue, 24 Apr 2018 11:42:33 -0700 Brandon Williams <bmwill@google.com> wrote:

Show 18 quoted lines
> On 04/24, Jonathan Tan wrote:
> > On Mon, 23 Apr 2018 16:43:27 -0700
> > Stefan Beller <sbeller@google.com> wrote:
> > 
> > > This involves also adapting sha1_object_info_extended and a some
> > > internal functions that are used to implement these. It all has to
> > > happen in one patch, because of a single recursive chain of calls visits
> > > all these functions.
> > 
> > In packfile.c, unpack_entry() invokes get_delta_base_cache_entry(),
> > which references a global (delta_base_cache). Does delta_base_cache need
> > to be moved to the repo object (or object store object) first, or is
> > this safe?
> 
> After looking at this, I think it should be safe for now since its a
> cache that requires a packed_git pointer to access (and those would be
> per repository).  We may want to move it in to the repository at some
> point though.

Thanks for the pointer. I see that a packed_git pointer is part of the key to that hashmap, so this is indeed safe. (Probably worth discussing this in the commit message.)

There is another global, delta_base_cached, but it just limits the total size of the hashmap, so it's safe to use that too.

Previous: Brandon Williams
Message 19 of 19 in “object store: oid_object_info is the next contender”
  1. 0/9 object store: oid_object_info is the next contenderStefan Beller, Apr 23, 2018
  2. 1/9 cache.h: add repository argument to oid_object_info_extendedStefan Beller, Apr 23, 2018
  3. 2/9 cache.h: add repository argument to oid_object_infoStefan Beller, Apr 23, 2018
  4. brian m. carlsonApr 24, 2018
  5. Jonathan TanApr 24, 2018
  6. 3/9 packfile: add repository argument to retry_bad_packed_offsetStefan Beller, Apr 23, 2018
  7. 6/9 packfile: add repository argument to read_objectStefan Beller, Apr 23, 2018
  8. 5/9 packfile: add repository argument to packed_object_infoStefan Beller, Apr 23, 2018
  9. Jonathan TanApr 24, 2018
  10. Junio C HamanoApr 25, 2018
  11. 4/9 packfile: add repository argument to packed_to_object_typeStefan Beller, Apr 23, 2018
  12. 7/9 packfile: add repository argument to unpack_entryStefan Beller, Apr 23, 2018
  13. 8/9 packfile: add repository argument to cache_or_unpack_entryStefan Beller, Apr 23, 2018
  14. 9/9 cache.h: allow sha1_object_info to handle arbitrary repositoriesStefan Beller, Apr 23, 2018
  15. brian m. carlsonApr 24, 2018
  16. Stefan BellerApr 24, 2018
  17. Jonathan TanApr 24, 2018
  18. Brandon WilliamsApr 24, 2018
  19. Jonathan TanApr 24, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.