[experimental-ims] 5c19ff9 Merged conditional backend request feature

Geoff Simmons geoff at varnish-cache.org
Wed Aug 31 16:04:57 CEST 2011


commit 5c19ff9b0ad35f47fc39433d501475b23cb680c1
Author: Geoff Simmons <geoff at uplex.de>
Date:   Thu Jun 2 21:47:07 2011 +0200

    Merged conditional backend request feature

diff --git a/bin/varnishd/cache_center.c b/bin/varnishd/cache_center.c
index 13a8b0c..1fe8558 100644
--- a/bin/varnishd/cache_center.c
+++ b/bin/varnishd/cache_center.c
@@ -664,11 +664,15 @@ cnt_fetchbody(struct sess *sp)
 	struct http *hp, *hp2;
 	char *b;
 <<<<<<< HEAD
+<<<<<<< HEAD
 	uint16_t nhttp;
 	unsigned l;
 =======
 	unsigned l, nhttp, stale_nhttp;
 >>>>>>> Merged conditional backend request feature
+=======
+	unsigned l, nhttp, stale_nhttp;
+>>>>>>> Merged conditional backend request feature
 	struct vsb *vary = NULL;
 	int varyl = 0, pass;
 
diff --git a/bin/varnishd/cache_fetch.c b/bin/varnishd/cache_fetch.c
index e39b358..196d25b 100644
--- a/bin/varnishd/cache_fetch.c
+++ b/bin/varnishd/cache_fetch.c
@@ -504,6 +504,12 @@ FetchBody(struct sess *sp)
         if (sp->wrk->beresp->status != 304)
         	AZ(VTAILQ_FIRST(&sp->obj->store));
 
+        /* If we've freshened from another object and got a "Not Modified"
+         * response, then we have already duped the other object's body.
+         */
+        if (sp->wrk->beresp->status != 304)
+        	AZ(VTAILQ_FIRST(&sp->obj->store));
+
 	AZ(sp->wrk->vgz_rx);
 	switch (sp->wrk->body_status) {
 	case BS_NONE:
diff --git a/bin/varnishd/cache_http.c b/bin/varnishd/cache_http.c
index 1279b60..f042321 100644
--- a/bin/varnishd/cache_http.c
+++ b/bin/varnishd/cache_http.c
@@ -70,6 +70,10 @@ void http_FilterMissingFields(struct worker *w, int fd, struct http *to,
     const struct http *fm);
 
 static enum VSL_tag_e
+
+void http_FilterMissingFields(struct worker *w, int fd, struct http *to,
+    const struct http *fm);
+
 http2shmlog(const struct http *hp, int t)
 {
 
diff --git a/bin/varnishd/cache_vrt_var.c b/bin/varnishd/cache_vrt_var.c
index 59478db..1b87901 100644
--- a/bin/varnishd/cache_vrt_var.c
+++ b/bin/varnishd/cache_vrt_var.c
@@ -390,6 +390,7 @@ VRT_r_req_restarts(const struct sess *sp)
  */
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 #define VRT_DO_EXP(which, exp, fld, offset, extra)		\
 								\
 void __match_proto__()						\
@@ -440,6 +441,8 @@ VRT_DO_EXP(beresp, sp->wrk->exp, ttl, 0,
 VRT_DO_EXP(beresp, sp->wrk->exp, keep, 0,
    vrt_wsp_exp(sp, sp->xid, &sp->wrk->exp);)
 =======
+=======
+>>>>>>> Merged conditional backend request feature
 #define VRT_DO_EXP_l(which, cont, fld, extra)			    \
 void __match_proto__()						    \
 VRT_l_##which##_##fld(struct sess *sp, double a)		    \
@@ -471,14 +474,27 @@ VRT_DO_EXP(req, sp, ttl, 0, )
 VRT_DO_EXP(req, sp, grace, 0, )
 VRT_DO_EXP(req, sp, keep, 0, )
 VRT_DO_EXP(obj, sp->obj, grace, 0, EXP_Rearm(sp->obj))
+<<<<<<< HEAD
 VRT_DO_EXP(obj, sp->obj, ttl, 0, EXP_Rearm(sp->obj))
 VRT_DO_EXP(obj, sp->obj, keep, 0, EXP_Rearm(sp->obj))
 VRT_DO_EXP(beresp, sp->wrk, grace, 0, )
 VRT_DO_EXP(beresp, sp->wrk, ttl, 0, )
+=======
+VRT_DO_EXP(obj, sp->obj, ttl, 0,
+	   EXP_Rearm(sp->obj);
+	   WSP(sp, SLT_TTL, "%u VCL %.0f %.0f", sp->obj->xid, a, sp->t_req))
+VRT_DO_EXP(obj, sp->obj, keep, 0, EXP_Rearm(sp->obj))
+VRT_DO_EXP(beresp, sp->wrk, grace, 0, )
+VRT_DO_EXP(beresp, sp->wrk, ttl, 0,
+	   WSP(sp, SLT_TTL, "%u VCL %.0f %.0f", sp->xid, a, sp->t_req))
+>>>>>>> Merged conditional backend request feature
 VRT_DO_EXP(beresp, sp->wrk, keep, 0, )
 VRT_DO_EXP_r(stale_obj, sp->stale_obj, grace, 1)
 VRT_DO_EXP_r(stale_obj, sp->stale_obj, ttl, 1)
 VRT_DO_EXP_r(stale_obj, sp->stale_obj, keep, 1)
+<<<<<<< HEAD
+>>>>>>> Merged conditional backend request feature
+=======
 >>>>>>> Merged conditional backend request feature
 
 /*--------------------------------------------------------------------



More information about the varnish-commit mailing list