The unified diff between revisions [6676c716..] and [c6f8f7e6..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "src/enums.h"
#  from [d3225c7b17f9312bef8509d7dd1284df1f0fcf98]
#    to [b48c01f14f67bf878e17c8fd8a3d1aac10f67ab9]
#
# patch "src/store_client.c"
#  from [d961bf8e2ac9cf641164b0dd9c6b5d0cef3688f0]
#    to [35cf0d9660b7ea121d8da18a53b6d958cf75dc3e]
#
# patch "src/store_swapmeta.c"
#  from [7d767872403f2adbc507a0fc81661dd161046f53]
#    to [369d3779b78fe2673c4b4bbc83c4b85ba758eeac]
#
============================================================
--- src/enums.h	d3225c7b17f9312bef8509d7dd1284df1f0fcf98
+++ src/enums.h	b48c01f14f67bf878e17c8fd8a3d1aac10f67ab9
@@ -629,6 +629,7 @@ enum {
     STORE_META_VALID,
     STORE_META_VARY_HEADERS,	/* Stores Vary request headers */
     STORE_META_STD_LFS,		/* standard metadata in lfs format */
+    STORE_META_OBJSIZE,		/* object size, if its known */
     STORE_META_END
 };

============================================================
--- src/store_client.c	d961bf8e2ac9cf641164b0dd9c6b5d0cef3688f0
+++ src/store_client.c	35cf0d9660b7ea121d8da18a53b6d958cf75dc3e
@@ -449,6 +449,8 @@ storeClientReadHeader(void *data, const
 		break;
 	    }
 	    break;
+        case STORE_META_OBJSIZE:
+            break;
 	case STORE_META_STD:
 	case STORE_META_STD_LFS:
 	    break;
============================================================
--- src/store_swapmeta.c	7d767872403f2adbc507a0fc81661dd161046f53
+++ src/store_swapmeta.c	369d3779b78fe2673c4b4bbc83c4b85ba758eeac
@@ -68,6 +68,8 @@ storeSwapMetaBuild(StoreEntry * e)
     tlv **T = &TLV;
     const char *url;
     const char *vary;
+    const squid_off_t objsize = objectLen(e);
+
     assert(e->mem_obj != NULL);
     assert(e->swap_status == SWAPOUT_WRITING);
     url = storeUrl(e);
@@ -79,6 +81,10 @@ storeSwapMetaBuild(StoreEntry * e)
     T = storeSwapTLVAdd(STORE_META_STD_LFS, &e->timestamp, STORE_HDR_METASIZE, T);
 #endif
     T = storeSwapTLVAdd(STORE_META_URL, url, strlen(url) + 1, T);
+    /* XXX this should eventually take the large-file-support stuff into account */
+    if (objsize > -1) {
+        T = storeSwapTLVAdd(STORE_META_OBJSIZE, &objsize, sizeof(objsize), T);
+    }
     vary = e->mem_obj->vary_headers;
     if (vary)
 	T = storeSwapTLVAdd(STORE_META_VARY_HEADERS, vary, strlen(vary) + 1, T);