[master] 9173a98 Move xid from sess to req

Poul-Henning Kamp phk at varnish-cache.org
Fri Dec 23 12:48:48 CET 2011


commit 9173a98a9f63de2fa47b04e8eb0094f4e5029ee6
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Fri Dec 23 11:48:11 2011 +0000

    Move xid from sess to req

diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 3c37176..f45235b 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -580,6 +580,8 @@ struct object {
 struct req {
 	unsigned		magic;
 #define REQ_MAGIC		0x2751aaa1
+
+	unsigned		xid;
 };
 
 /*--------------------------------------------------------------------*/
@@ -625,7 +627,6 @@ struct sess {
 
 	/* Request related fields ------------------------------------*/
 
-	unsigned		xid;
 
 	int			restarts;
 	int			esi_level;
diff --git a/bin/varnishd/cache/cache_center.c b/bin/varnishd/cache/cache_center.c
index a119360..1de6ed7 100644
--- a/bin/varnishd/cache/cache_center.c
+++ b/bin/varnishd/cache/cache_center.c
@@ -113,7 +113,7 @@ cnt_wait(struct sess *sp)
 	AZ(sp->vcl);
 	AZ(wrk->obj);
 	AZ(sp->esi_level);
-	assert(sp->xid == 0);
+	assert(sp->req->xid == 0);
 
 	assert(!isnan(sp->t_req));
 	tmo = (int)(1e3 * cache_param->timeout_linger);
@@ -397,7 +397,7 @@ cnt_done(struct sess *sp)
 
 
 	sp->t_idle = W_TIM_real(wrk);
-	if (sp->xid == 0) {
+	if (sp->req->xid == 0) {
 		sp->t_resp = sp->t_idle;
 	} else {
 		dp = sp->t_resp - sp->t_req;
@@ -410,9 +410,9 @@ cnt_done(struct sess *sp)
 			    (uintmax_t)sp->req_bodybytes);
 		}
 		WSP(sp, SLT_ReqEnd, "%u %.9f %.9f %.9f %.9f %.9f",
-		    sp->xid, sp->t_req, sp->t_idle, dh, dp, da);
+		    sp->req->xid, sp->t_req, sp->t_idle, dh, dp, da);
 	}
-	sp->xid = 0;
+	sp->req->xid = 0;
 	WSL_Flush(wrk, 0);
 
 	sp->t_req = NAN;
@@ -503,7 +503,7 @@ cnt_error(struct sess *sp)
 			return(0);
 		}
 		AN(wrk->obj);
-		wrk->obj->xid = sp->xid;
+		wrk->obj->xid = sp->req->xid;
 		wrk->obj->exp.entered = sp->t_req;
 	} else {
 		CHECK_OBJ_NOTNULL(wrk->busyobj, BUSYOBJ_MAGIC);
@@ -869,7 +869,7 @@ cnt_fetchbody(struct sess *sp)
 		VSB_delete(vary);
 	}
 
-	wrk->obj->xid = sp->xid;
+	wrk->obj->xid = sp->req->xid;
 	wrk->obj->response = sp->err_code;
 	WS_Assert(wrk->obj->ws_o);
 
@@ -1035,7 +1035,7 @@ cnt_first(struct sess *sp)
 	wrk = sp->wrk;
 	CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
 
-	assert(sp->xid == 0);
+	AZ(sp->req);
 	assert(sp->restarts == 0);
 	AZ(sp->esi_level);
 
@@ -1595,8 +1595,8 @@ cnt_start(struct sess *sp)
 	wrk->acct_tmp.req++;
 
 	/* Assign XID and log */
-	sp->xid = ++xids;				/* XXX not locked */
-	WSP(sp, SLT_ReqStart, "%s %s %u", sp->addr, sp->port,  sp->xid);
+	sp->req->xid = ++xids;				/* XXX not locked */
+	WSP(sp, SLT_ReqStart, "%s %s %u", sp->addr, sp->port,  sp->req->xid);
 
 	/* Borrow VCL reference from worker thread */
 	VCL_Refresh(&wrk->vcl);
diff --git a/bin/varnishd/cache/cache_cli.c b/bin/varnishd/cache/cache_cli.c
index 98d89c3..abb9e43 100644
--- a/bin/varnishd/cache/cache_cli.c
+++ b/bin/varnishd/cache/cache_cli.c
@@ -132,6 +132,7 @@ cli_debug_sizeof(struct cli *cli, const char * const *av, void *priv)
 	SZOF(struct objcore);
 	SZOF(struct objhead);
 	SZOF(struct sess);
+	SZOF(struct req);
 	SZOF(struct vbc);
 	SZOF(struct VSC_C_main);
 	SZOF(struct lock);
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index e961819..fb0771d 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -91,7 +91,7 @@ ved_include(struct sess *sp, const char *src, const char *host)
 	/* Client content already taken care of */
 	http_Unset(sp->http, H_Content_Length);
 
-	sxid = sp->xid;
+	sxid = sp->req->xid;
 	while (1) {
 		sp->wrk = w;
 		CNT_Session(sp);
@@ -102,7 +102,7 @@ ved_include(struct sess *sp, const char *src, const char *host)
 		DSL(0x20, SLT_Debug, sp->vsl_id, "loop waiting for ESI");
 		(void)usleep(10000);
 	}
-	sp->xid = sxid;
+	sp->req->xid = sxid;
 	AN(sp->wrk);
 	assert(sp->step == STP_DONE);
 	sp->esi_level--;
diff --git a/bin/varnishd/cache/cache_http.c b/bin/varnishd/cache/cache_http.c
index 4a6ba82..803fed2 100644
--- a/bin/varnishd/cache/cache_http.c
+++ b/bin/varnishd/cache/cache_http.c
@@ -880,7 +880,7 @@ http_FilterHeader(const struct sess *sp, unsigned how)
 	else
 		http_copyh(hp, sp->http, HTTP_HDR_PROTO);
 	http_FilterFields(sp->wrk, sp->vsl_id, hp, sp->http, how);
-	http_PrintfHeader(sp->wrk, sp->vsl_id, hp, "X-Varnish: %u", sp->xid);
+	http_PrintfHeader(sp->wrk, sp->vsl_id, hp, "X-Varnish: %u", sp->req->xid);
 }
 
 /*--------------------------------------------------------------------
diff --git a/bin/varnishd/cache/cache_panic.c b/bin/varnishd/cache/cache_panic.c
index 6daf807..238c597 100644
--- a/bin/varnishd/cache/cache_panic.c
+++ b/bin/varnishd/cache/cache_panic.c
@@ -235,7 +235,7 @@ pan_sess(const struct sess *sp)
 	VSB_printf(pan_vsp, "sp = %p {\n", sp);
 	VSB_printf(pan_vsp,
 	    "  fd = %d, id = %u, xid = %u,\n",
-	    sp->fd, sp->vsl_id & VSL_IDENTMASK, sp->xid);
+	    sp->fd, sp->vsl_id & VSL_IDENTMASK, sp->req->xid);
 	VSB_printf(pan_vsp, "  client = %s %s,\n",
 	    sp->addr ? sp->addr : "?.?.?.?",
 	    sp->port ? sp->port : "?");
diff --git a/bin/varnishd/cache/cache_response.c b/bin/varnishd/cache/cache_response.c
index 43feae9..cbddb7d 100644
--- a/bin/varnishd/cache/cache_response.c
+++ b/bin/varnishd/cache/cache_response.c
@@ -132,12 +132,12 @@ RES_BuildHttp(const struct sess *sp)
 	http_PrintfHeader(sp->wrk, sp->vsl_id, sp->wrk->resp,
 	    "Date: %s", time_str);
 
-	if (sp->xid != sp->wrk->obj->xid)
+	if (sp->req->xid != sp->wrk->obj->xid)
 		http_PrintfHeader(sp->wrk, sp->vsl_id, sp->wrk->resp,
-		    "X-Varnish: %u %u", sp->xid, sp->wrk->obj->xid);
+		    "X-Varnish: %u %u", sp->req->xid, sp->wrk->obj->xid);
 	else
 		http_PrintfHeader(sp->wrk, sp->vsl_id, sp->wrk->resp,
-		    "X-Varnish: %u", sp->xid);
+		    "X-Varnish: %u", sp->req->xid);
 	http_PrintfHeader(sp->wrk, sp->vsl_id, sp->wrk->resp, "Age: %.0f",
 	    sp->wrk->obj->exp.age + sp->t_resp - sp->wrk->obj->exp.entered);
 	http_SetHeader(sp->wrk, sp->vsl_id, sp->wrk->resp, "Via: 1.1 varnish");
diff --git a/bin/varnishd/cache/cache_rfc2616.c b/bin/varnishd/cache/cache_rfc2616.c
index 6e7efea..2878d9a 100644
--- a/bin/varnishd/cache/cache_rfc2616.c
+++ b/bin/varnishd/cache/cache_rfc2616.c
@@ -169,7 +169,7 @@ RFC2616_Ttl(const struct sess *sp)
 	/* calculated TTL, Our time, Date, Expires, max-age, age */
 	WSP(sp, SLT_TTL,
 	    "%u RFC %.0f %.0f %.0f %.0f %.0f %.0f %.0f %u",
-	    sp->xid, expp->ttl, -1., -1., expp->entered,
+	    sp->req->xid, expp->ttl, -1., -1., expp->entered,
 	    expp->age, h_date, h_expires, max_age);
 }
 
diff --git a/bin/varnishd/cache/cache_vrt_var.c b/bin/varnishd/cache/cache_vrt_var.c
index 7431c1b..6f5544b 100644
--- a/bin/varnishd/cache/cache_vrt_var.c
+++ b/bin/varnishd/cache/cache_vrt_var.c
@@ -416,11 +416,11 @@ VRT_DO_EXP(obj, sp->wrk->obj->exp, keep, 0,
    vrt_wsp_exp(sp, sp->wrk->obj->xid, &sp->wrk->obj->exp);)
 
 VRT_DO_EXP(beresp, sp->wrk->busyobj->exp, grace, 0,
-   vrt_wsp_exp(sp, sp->xid, &sp->wrk->busyobj->exp);)
+   vrt_wsp_exp(sp, sp->req->xid, &sp->wrk->busyobj->exp);)
 VRT_DO_EXP(beresp, sp->wrk->busyobj->exp, ttl, 0,
-   vrt_wsp_exp(sp, sp->xid, &sp->wrk->busyobj->exp);)
+   vrt_wsp_exp(sp, sp->req->xid, &sp->wrk->busyobj->exp);)
 VRT_DO_EXP(beresp, sp->wrk->busyobj->exp, keep, 0,
-   vrt_wsp_exp(sp, sp->xid, &sp->wrk->busyobj->exp);)
+   vrt_wsp_exp(sp, sp->req->xid, &sp->wrk->busyobj->exp);)
 
 /*--------------------------------------------------------------------
  * req.xid
@@ -433,9 +433,9 @@ VRT_r_req_xid(struct sess *sp)
 	int size;
 	CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
 
-	size = snprintf(NULL, 0, "%u", sp->xid) + 1;
+	size = snprintf(NULL, 0, "%u", sp->req->xid) + 1;
 	AN(p = WS_Alloc(sp->http->ws, size));
-	assert(snprintf(p, size, "%u", sp->xid) < size);
+	assert(snprintf(p, size, "%u", sp->req->xid) < size);
 	return (p);
 }
 



More information about the varnish-commit mailing list