[experimental-ims] e8a5f69 Merged conditional backend request feature

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


commit e8a5f69593f7b2531e2e4d16596a9053aa541207
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 1fe8558..3007dde 100644
--- a/bin/varnishd/cache_center.c
+++ b/bin/varnishd/cache_center.c
@@ -665,6 +665,7 @@ cnt_fetchbody(struct sess *sp)
 	char *b;
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	uint16_t nhttp;
 	unsigned l;
 =======
@@ -673,6 +674,9 @@ cnt_fetchbody(struct sess *sp)
 =======
 	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 196d25b..414d063 100644
--- a/bin/varnishd/cache_fetch.c
+++ b/bin/varnishd/cache_fetch.c
@@ -510,6 +510,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 1b87901..92013be 100644
--- a/bin/varnishd/cache_vrt_var.c
+++ b/bin/varnishd/cache_vrt_var.c
@@ -391,6 +391,7 @@ VRT_r_req_restarts(const struct sess *sp)
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 #define VRT_DO_EXP(which, exp, fld, offset, extra)		\
 								\
 void __match_proto__()						\
@@ -443,6 +444,8 @@ VRT_DO_EXP(beresp, sp->wrk->exp, keep, 0,
 =======
 =======
 >>>>>>> Merged conditional backend request feature
+=======
+>>>>>>> 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)		    \
@@ -475,10 +478,14 @@ 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
+<<<<<<< HEAD
+=======
+>>>>>>> Merged conditional backend request feature
 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, )
+<<<<<<< HEAD
 =======
 VRT_DO_EXP(obj, sp->obj, ttl, 0,
 	   EXP_Rearm(sp->obj);
@@ -488,11 +495,16 @@ 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
+=======
+>>>>>>> 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
+<<<<<<< HEAD
+>>>>>>> Merged conditional backend request feature
+=======
 >>>>>>> Merged conditional backend request feature
 =======
 >>>>>>> Merged conditional backend request feature



More information about the varnish-commit mailing list