r4178 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Mon Aug 10 13:23:44 CEST 2009


Author: phk
Date: 2009-08-10 13:23:44 +0200 (Mon, 10 Aug 2009)
New Revision: 4178

Modified:
   trunk/varnish-cache/bin/varnishd/cache_center.c
Log:
"Hit-for-pass" objects are not transient.



Modified: trunk/varnish-cache/bin/varnishd/cache_center.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_center.c	2009-08-10 10:07:07 UTC (rev 4177)
+++ trunk/varnish-cache/bin/varnishd/cache_center.c	2009-08-10 11:23:44 UTC (rev 4178)
@@ -483,8 +483,13 @@
 	handling = sp->handling;
 
 	if (sp->objhead == NULL)
+		/* This is a pass from vcl_recv */
 		transient = 1;
+	else if (sp->handling == VCL_RET_PASS)
+		/* A pass from vcl_fetch is not transient */
+		transient = 0;
 	else if (sp->handling == VCL_RET_DELIVER)
+		/* Regular object */
 		transient = 0;
 	else
 		transient = 1;
@@ -582,7 +587,7 @@
 	}
 
 	sp->obj->cacheable = 1;
-	if (sp->obj->objhead != NULL) {
+	if (!transient) {
 		VRY_Create(sp);
 		EXP_Insert(sp->obj);
 		AN(sp->obj->ban);



More information about the varnish-commit mailing list