Re: [RFC/PATCHv2 2/6] add metadata-cache infrastructure
From: Jeff King <hidden>
Date: 2016-06-15 22:51:35
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
On Wed, Jul 13, 2011 at 10:45:52AM +0200, Bert Wesarg wrote:
quoted
It might make sense to put: if (!c->mem.width) die("BUG: zero-width metadata-cache"); into the initialization function to make it more clear, and make a note in the API documentation.That should be good. Thanks.
I've squashed in the patch below for my next re-roll.
diff --git a/Documentation/technical/api-metadata-cache.txt b/Documentation/technical/api-metadata-cache.txt
index 192a868..e335b96 100644
--- a/Documentation/technical/api-metadata-cache.txt
+++ b/Documentation/technical/api-metadata-cache.txt@@ -102,9 +102,10 @@ Functions specifies a human-readable name which will be used for storage in `$GIT_DIR/cache/$name`. The `width` parameter specifies the size, in units of `char`, of the data to be stored (e.g., use - `sizeof(uint32_t)` to store 32-bit integers). The `validity` - parameter is either NULL or a pointer to a function providing a - 20-byte validity sha1. + `sizeof(uint32_t)` to store 32-bit integers). The `width` + parameter must be greater than 0. The `validity` parameter is + either NULL or a pointer to a function providing a 20-byte + validity sha1. `metadata_cache_lookup`::
diff --git a/metadata-cache.c b/metadata-cache.c
index e2e5ff8..025d3a5 100644
--- a/metadata-cache.c
+++ b/metadata-cache.c@@ -261,6 +261,9 @@ static void metadata_cache_init(struct metadata_cache *c) if (c->initialized) return; + if (!c->mem.width) + die("BUG: tried to initialize zero-width metadata cache"); + open_disk_cache(c, metadata_cache_path(c->mem.name)); ALLOC_GROW(autowrite, autowrite_nr+1, autowrite_alloc); -Peff