[PATCH 1/2] Make trivial wrapper functions around delta base generation and freeing

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Saturday, March 17, 2007 - 12:42 pm

This doesn't change any code, it just creates a point for where we'd
actually do the caching of delta bases that have been generated.
    
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

Done this way to make all the changes as obvious as possible.


diff --git a/sha1_file.c b/sha1_file.c
index 110d696..f11ca3f 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1352,6 +1352,18 @@ static void *unpack_compressed_entry(struct packed_git *p,
 	return buffer;
 }
 
+static void *cache_or_unpack_entry(struct packed_git *p, off_t base_offset,
+	unsigned long *base_size, enum object_type *type)
+{
+	return unpack_entry(p, base_offset, type, base_size);
+}
+
+static void add_delta_base_cache(struct packed_git *p, off_t base_offset,
+	void *base, unsigned long base_size, enum object_type type)
+{
+	free(base);
+}
+
 static void *unpack_delta_entry(struct packed_git *p,
 				struct pack_window **w_curs,
 				off_t curpos,
@@ -1365,7 +1377,7 @@ static void *unpack_delta_entry(struct packed_git *p,
 	off_t base_offset;
 
 	base_offset = get_delta_base(p, w_curs, &curpos, *type, obj_offset);
-	base = unpack_entry(p, base_offset, type, &base_size);
+	base = cache_or_unpack_entry(p, base_offset, &base_size, type);
 	if (!base)
 		die("failed to read delta base object"
 		    " at %"PRIuMAX" from %s",
@@ -1378,7 +1390,7 @@ static void *unpack_delta_entry(struct packed_git *p,
 	if (!result)
 		die("failed to apply delta");
 	free(delta_data);
-	free(base);
+	add_delta_base_cache(p, base_offset, base, base_size, *type);
 	return result;
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:04 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Thu Mar 15, 6:10 pm)
Re: cleaner/better zlib sources?, Jeff Garzik, (Thu Mar 15, 6:11 pm)
Re: cleaner/better zlib sources?, Matt Mackall, (Thu Mar 15, 6:14 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 6:33 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:46 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 6:54 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 7:06 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 7:43 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Thu Mar 15, 7:56 pm)
Re: cleaner/better zlib sources?, Davide Libenzi, (Thu Mar 15, 8:16 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:21 am)
Re: cleaner/better zlib sources?, Davide Libenzi, (Fri Mar 16, 9:24 am)
Re: cleaner/better zlib sources?, Jeff Garzik, (Fri Mar 16, 9:35 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:35 am)
Re: cleaner/better zlib sources?, Matt Mackall, (Fri Mar 16, 9:42 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 9:51 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 10:06 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 10:12 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 10:51 am)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 11:09 am)
Re: cleaner/better zlib sources?, Davide Libenzi, (Fri Mar 16, 12:21 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Fri Mar 16, 4:22 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 5:01 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Fri Mar 16, 6:11 pm)
Re: cleaner/better zlib sources?, Nicolas Pitre, (Fri Mar 16, 8:28 pm)
Re: cleaner/better zlib sources?, Shawn O. Pearce, (Fri Mar 16, 10:19 pm)
Re: cleaner/better zlib sources?, Linus Torvalds, (Sat Mar 17, 10:55 am)
Re: cleaner/better zlib sources?, Linus Torvalds, (Sat Mar 17, 12:40 pm)
[PATCH 1/2] Make trivial wrapper functions around delta ba ..., Linus Torvalds, (Sat Mar 17, 12:42 pm)
[PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 12:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 2:45 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sat Mar 17, 3:37 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 3:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:09 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sat Mar 17, 4:12 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:24 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Jon Smirl, (Sat Mar 17, 4:52 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 4:54 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 6:13 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Morten Welinder, (Sat Mar 17, 6:14 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:29 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 6:38 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 6:55 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 7:03 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 7:20 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Sat Mar 17, 8:00 pm)
[PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sat Mar 17, 8:06 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sat Mar 17, 8:31 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Julian Phillips, (Sat Mar 17, 10:30 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Avi Kivity, (Sat Mar 17, 11:28 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Junio C Hamano, (Sun Mar 18, 12:47 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Sun Mar 18, 2:45 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Sun Mar 18, 3:53 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 8:54 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 8:57 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sun Mar 18, 10:23 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Sun Mar 18, 10:34 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Sun Mar 18, 11:29 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Shawn O. Pearce, (Sun Mar 18, 2:25 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Sun Mar 18, 2:38 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Sun Mar 18, 2:48 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, David Brodsky, (Mon Mar 19, 6:16 am)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Johannes Schindelin, (Mon Mar 19, 8:05 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Mon Mar 19, 8:16 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 8:29 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 8:40 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:11 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 9:18 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:31 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Shawn O. Pearce, (Mon Mar 19, 9:39 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:45 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Linus Torvalds, (Mon Mar 19, 9:57 pm)
Re: [PATCH 3/2] Avoid unnecessary strlen() calls, Junio C Hamano, (Mon Mar 19, 10:44 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Robin Rosenberg, (Mon Mar 19, 11:35 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, David Brodsky, (Tue Mar 20, 2:13 am)
Re: [PATCH 2/2] Implement a simple delta_base cache, Linus Torvalds, (Tue Mar 20, 7:37 pm)
Re: [PATCH 2/2] Implement a simple delta_base cache, Nicolas Pitre, (Tue Mar 20, 7:54 pm)