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

Re: [PATCH v2 5/6] cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()

From
Derrick Stolee <derrickstolee@github.com>
Date
Jan 12, 2023, 15:21 UTC
Message-ID
<270ef93c-cfdc-d119-5740-f704d7f2a029@github.com>
In-Reply-To
<patch-v2-5.6-ae256efe94a-20230112T124842Z-avarab@gmail.com>
On 1/12/2023 7:55 AM, Ævar Arnfjörð Bjarmason wrote:
Show 7 quoted lines
> As we'll see in a subsequent commit we'll get advantages from always
> initializing the "repo" member of the "struct index_state". To make
> that easier let's introduce an initialization macro & function.
> 
> The various ad-hoc initialization of the structure can then be changed
> over to it, and we can remove the various "0" assignments in
> discard_index() in favor of calling index_state_init() at the end.
> -	memset(&o->result, 0, sizeof(o->result));
> +	index_state_init(&o->result);
>  	o->result.initialized = 1;

It's interesting that 'struct index_state' has an 'initialized' member that we aren't setting in index_state_init(). Perhaps it's only being used in special cases like this, and means something more specific than "index_state_init() was run"? Or maybe we could add it to INDEX_STATE_INIT and drop this line?

Thanks, -Stolee

Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 20 of 32 in “cache API: always have a "istate->repo"”
  1. 0/5 cache API: always have a "istate->repo"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  2. 1/5 builtin/difftool.c: { 0 }-initialize rather than using memset()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  3. 2/5 sparse-index.c: expand_to_path() can assume non-NULL "istate"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  4. 3/5 sparse-index API: fix TODO, BUG() out on NULL ensure_full_index()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  5. Philip OakleyJan 10, 2023
  6. Ævar Arnfjörð BjarmasonJan 10, 2023
  7. Derrick StoleeJan 10, 2023
  8. 4/5 read-cache.c: refactor set_new_index_sparsity() for subsequent commitÆvar Arnfjörð Bjarmason, Jan 10, 2023
  9. 5/5 treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 10, 2023
  10. Ævar Arnfjörð BjarmasonJan 10, 2023
  11. Jeff HostetlerJan 10, 2023
  12. Derrick StoleeJan 10, 2023
  13. Derrick StoleeJan 10, 2023
  14. 0/6 cache API: always have a "istate->repo"Ævar Arnfjörð Bjarmason, Jan 12, 2023
  15. 1/6 builtin/difftool.c: { 0 }-initialize rather than using memset()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  16. 2/6 sparse-index.c: expand_to_path() can assume non-NULL "istate"Ævar Arnfjörð Bjarmason, Jan 12, 2023
  17. 3/6 sparse-index API: BUG() out on NULL ensure_full_index()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  18. 4/6 read-cache.c: refactor set_new_index_sparsity() for subsequent commitÆvar Arnfjörð Bjarmason, Jan 12, 2023
  19. 5/6 cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  20. Derrick StoleeJan 12, 2023
  21. Ævar Arnfjörð BjarmasonJan 12, 2023
  22. Derrick StoleeJan 12, 2023
  23. 6/6 treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 12, 2023
  24. Derrick StoleeJan 12, 2023
  25. Derrick StoleeJan 12, 2023
  26. Junio C HamanoJan 13, 2023
  27. Junio C HamanoJan 13, 2023
  28. Ævar Arnfjörð BjarmasonJan 16, 2023
  29. Philip OakleyJan 16, 2023
  30. Junio C HamanoJan 16, 2023
  31. treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 17, 2023
  32. Derrick StoleeJan 17, 2023

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.