Subject: [PATCH v6 0/8] Allocate cache entries from mem_pool

From: Jameson Miller <[email-masked]>
Date: Mon, 2 Jul 2018 19:49:27 +0000

Changes since v5:
  - Updated commit messages for:
    7581156e8a read-cache: teach refresh_cache_entry to take istate
    2c962aa0cd block alloc: add lifecycle APIs for cache_entry structs

  - Use oidcpy function instead of hashcpy function

### Interdiff (v5..v6):

diff --git a/read-cache.c b/read-cache.c
index ba31e929e8..fd67e2e8a4 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -814,7 +814,7 @@ struct cache_entry *make_cache_entry(struct index_state *istate,
 	len = strlen(path);
 	ce = make_empty_cache_entry(istate, len);
 
-	hashcpy(ce->oid.hash, oid->hash);
+	oidcpy(&ce->oid, oid);
 	memcpy(ce->name, path, len);
 	ce->ce_flags = create_ce_flags(stage);
 	ce->ce_namelen = len;
@@ -840,7 +840,7 @@ struct cache_entry *make_transient_cache_entry(unsigned int mode, const struct o
 	len = strlen(path);
 	ce = make_empty_transient_cache_entry(len);
 
-	hashcpy(ce->oid.hash, oid->hash);
+	oidcpy(&ce->oid, oid);
 	memcpy(ce->name, path, len);
 	ce->ce_flags = create_ce_flags(stage);
 	ce->ce_namelen = len;

### Patches

Jameson Miller (8):
  read-cache: teach refresh_cache_entry to take istate
  read-cache: teach make_cache_entry to take object_id
  block alloc: add lifecycle APIs for cache_entry structs
  mem-pool: only search head block for available space
  mem-pool: add life cycle management functions
  mem-pool: fill out functionality
  block alloc: allocate cache entries from mem_pool
  block alloc: add validations around cache_entry lifecyle

 apply.c                |  24 ++--
 blame.c                |   5 +-
 builtin/checkout.c     |   8 +-
 builtin/difftool.c     |   6 +-
 builtin/reset.c        |   2 +-
 builtin/update-index.c |  26 ++--
 cache.h                |  64 +++++++++-
 git.c                  |   3 +
 mem-pool.c             | 114 ++++++++++++++++--
 mem-pool.h             |  23 ++++
 merge-recursive.c      |   4 +-
 read-cache.c           | 264 ++++++++++++++++++++++++++++++++++-------
 resolve-undo.c         |   4 +-
 split-index.c          |  58 +++++++--
 tree.c                 |   4 +-
 unpack-trees.c         |  40 ++++---
 16 files changed, 515 insertions(+), 134 deletions(-)

base-commit: ed843436dd4924c10669820cc73daf50f0b4dabd
-- 
2.17.1