Index: enums.h =================================================================== RCS file: /server/cvs-server/squid/squid/src/enums.h,v retrieving revision 1.226 diff -u -r1.226 enums.h --- enums.h 18 May 2006 06:49:46 -0000 1.226 +++ enums.h 19 May 2006 00:32:19 -0000 @@ -644,6 +644,7 @@ 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 }; Index: store_swapmeta.c =================================================================== RCS file: /server/cvs-server/squid/squid/src/store_swapmeta.c,v retrieving revision 1.18 diff -u -r1.18 store_swapmeta.c --- store_swapmeta.c 17 May 2005 16:56:38 -0000 1.18 +++ store_swapmeta.c 19 May 2006 00:32:19 -0000 @@ -68,6 +68,7 @@ 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 +80,9 @@ T = storeSwapTLVAdd(STORE_META_STD_LFS, &e->timestamp, STORE_HDR_METASIZE, T); #endif T = storeSwapTLVAdd(STORE_META_URL, url, strlen(url) + 1, T); + 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);