[master] 725c8c2 Add forward SLT_Link records from req->esireq and req->bereq

Poul-Henning Kamp phk at varnish-cache.org
Tue Nov 20 12:41:12 CET 2012


commit 725c8c2bdd02470c8903910ed5a865eb5d6d052a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Nov 20 11:40:44 2012 +0000

    Add forward SLT_Link records from req->esireq and req->bereq
    
    Prodded by:	Martin

diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 727073b..bc07923 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -760,7 +760,7 @@ double BAN_Time(const struct ban *ban);
 
 /* cache_busyobj.c */
 void VBO_Init(void);
-struct busyobj *VBO_GetBusyObj(struct worker *, const struct req *);
+struct busyobj *VBO_GetBusyObj(struct worker *, struct req *);
 void VBO_DerefBusyObj(struct worker *wrk, struct busyobj **busyobj);
 void VBO_Free(struct busyobj **vbo);
 
diff --git a/bin/varnishd/cache/cache_busyobj.c b/bin/varnishd/cache/cache_busyobj.c
index 17ec871..0691b83 100644
--- a/bin/varnishd/cache/cache_busyobj.c
+++ b/bin/varnishd/cache/cache_busyobj.c
@@ -87,7 +87,7 @@ VBO_Free(struct busyobj **bop)
 }
 
 struct busyobj *
-VBO_GetBusyObj(struct worker *wrk, const struct req *req)
+VBO_GetBusyObj(struct worker *wrk, struct req *req)
 {
 	struct busyobj *bo = NULL;
 	uint16_t nhttp;
@@ -130,6 +130,7 @@ VBO_GetBusyObj(struct worker *wrk, const struct req *req)
 	VSL_Setup(bo->vsl, p, sz);
 	bo->vsl->wid = VXID_Get(&wrk->vxid_pool) | VSL_BACKENDMARKER;
 	VSLb(bo->vsl, SLT_Link, "req %u", req->vsl->wid & VSL_IDENTMASK);
+	VSLb(req->vsl, SLT_Link, "bereq %u", bo->vsl->wid & VSL_IDENTMASK);
 	p += sz;
 	p = (void*)PRNDUP(p);
 	assert(p < bo->end);
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index 66862f4..be87d2b 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -61,6 +61,7 @@ ved_include(struct req *preq, const char *src, const char *host)
 
 	req = SES_GetReq(wrk, preq->sp);
 	VSLb(req->vsl, SLT_Link, "req %u", preq->vsl->wid & VSL_IDENTMASK);
+	VSLb(preq->vsl, SLT_Link, "esireq %u", req->vsl->wid & VSL_IDENTMASK);
 	req->esi_level = preq->esi_level + 1;
 
 	HTTP_Copy(req->http0, preq->http0);
diff --git a/include/tbl/vsl_tags.h b/include/tbl/vsl_tags.h
index dd12f91..bdf840d 100644
--- a/include/tbl/vsl_tags.h
+++ b/include/tbl/vsl_tags.h
@@ -162,5 +162,7 @@ SLTM(Link, "Linkage between different VXIDs",
 	"The first field gives the type of the parent:\n"
 	"    req     Request\n"
 	"    sess    Session\n"
+	"    bereq   Backend request\n"
+	"    esireq  ESI subrequest\n"
 	"The second field gives the VXID if the parent.\n"
 )



More information about the varnish-commit mailing list