[master] 3c53c1a Replace the fd# with the VXID in VSL records.
Poul-Henning Kamp
phk at varnish-cache.org
Tue Aug 14 12:16:46 CEST 2012
commit 3c53c1affef3c7fdd0bb040c4f0f7c7f87694a61
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Aug 14 10:16:23 2012 +0000
Replace the fd# with the VXID in VSL records.
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index add0150..2441bd6 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -494,7 +494,6 @@ struct busyobj {
* is recycled.
*/
unsigned refcount;
- uint32_t vxid;
uint8_t *vary;
unsigned is_gzip;
@@ -583,7 +582,6 @@ struct req {
unsigned magic;
#define REQ_MAGIC 0x2751aaa1
- uint32_t vxid;
int restarts;
int esi_level;
int disable_esi;
@@ -679,7 +677,6 @@ struct sess {
enum sess_step sess_step;
int fd;
enum sess_close reason;
- unsigned vsl_id;
uint32_t vxid;
/* Cross references ------------------------------------------*/
@@ -957,7 +954,7 @@ void SES_Charge(struct worker *, struct req *);
struct sesspool *SES_NewPool(struct pool *pp, unsigned pool_no);
void SES_DeletePool(struct sesspool *sp);
int SES_ScheduleReq(struct req *);
-struct req *SES_GetReq(struct sess *sp);
+struct req *SES_GetReq(struct worker *, struct sess *);
void SES_Handle(struct sess *sp, double now);
void SES_ReleaseReq(struct req *);
pool_func_t SES_pool_accept_task;
diff --git a/bin/varnishd/cache/cache_acceptor.c b/bin/varnishd/cache/cache_acceptor.c
index da2cdf8..c5831fd 100644
--- a/bin/varnishd/cache/cache_acceptor.c
+++ b/bin/varnishd/cache/cache_acceptor.c
@@ -251,7 +251,6 @@ VCA_SetupSess(struct worker *wrk, struct sess *sp)
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
CAST_OBJ_NOTNULL(wa, (void*)wrk->aws->f, WRK_ACCEPT_MAGIC);
sp->fd = wa->acceptsock;
- sp->vsl_id = wa->acceptsock | VSL_CLIENTMARKER ;
wa->acceptsock = -1;
retval = wa->acceptlsock->name;
assert(wa->acceptaddrlen <= sp->sockaddrlen);
diff --git a/bin/varnishd/cache/cache_backend.c b/bin/varnishd/cache/cache_backend.c
index 7b3101b..e8efb90 100644
--- a/bin/varnishd/cache/cache_backend.c
+++ b/bin/varnishd/cache/cache_backend.c
@@ -181,7 +181,6 @@ bes_conn_try(struct req *req, struct vbc *vc, const struct vdi_simple *vs)
vc->addr = NULL;
vc->addrlen = 0;
} else {
- vc->vsl_id = s | VSL_BACKENDMARKER;
VTCP_myname(s, abuf1, sizeof abuf1, pbuf1, sizeof pbuf1);
VSLb(req->vsl, SLT_BackendOpen, "%d %s %s %s ",
vc->fd, vs->backend->display_name, abuf1, pbuf1);
diff --git a/bin/varnishd/cache/cache_backend.h b/bin/varnishd/cache/cache_backend.h
index 3baa0ca..b84e702 100644
--- a/bin/varnishd/cache/cache_backend.h
+++ b/bin/varnishd/cache/cache_backend.h
@@ -153,8 +153,6 @@ struct vbc {
struct backend *backend;
struct vdi_simple *vdis;
struct vsl_log *vsl;
- unsigned orig_vsl_id;
- unsigned vsl_id;
int fd;
struct sockaddr_storage *addr;
diff --git a/bin/varnishd/cache/cache_busyobj.c b/bin/varnishd/cache/cache_busyobj.c
index 8f0cc50..014e564 100644
--- a/bin/varnishd/cache/cache_busyobj.c
+++ b/bin/varnishd/cache/cache_busyobj.c
@@ -108,7 +108,6 @@ VBO_GetBusyObj(struct worker *wrk)
AZ(bo->refcount);
bo->refcount = 1;
- bo->vxid = VXID_Get(&wrk->vxid_pool);
p = (void*)(bo + 1);
p = (void*)PRNDUP(p);
@@ -129,6 +128,7 @@ VBO_GetBusyObj(struct worker *wrk)
sz = cache_param->vsl_buffer;
VSL_Setup(bo->vsl, p, sz);
+ bo->vsl->wid = VXID_Get(&wrk->vxid_pool) | VSL_BACKENDMARKER;
p += sz;
p = (void*)PRNDUP(p);
assert(p < bo->end);
diff --git a/bin/varnishd/cache/cache_dir.c b/bin/varnishd/cache/cache_dir.c
index 528a57c..ab43cf1 100644
--- a/bin/varnishd/cache/cache_dir.c
+++ b/bin/varnishd/cache/cache_dir.c
@@ -61,9 +61,7 @@ VDI_CloseFd(struct vbc **vbp)
* before the OS reuses the FD
*/
VSL_Flush(vc->vsl, 0);
- vc->vsl->wid = vc->orig_vsl_id;
vc->vsl = NULL;
- vc->orig_vsl_id = 0;
VTCP_close(&vc->fd);
VBE_DropRefConn(bp);
@@ -92,9 +90,7 @@ VDI_RecycleFd(struct vbc **vbp)
/* XXX: revisit this hack */
VSL_Flush(vc->vsl, 0);
- vc->vsl->wid = vc->orig_vsl_id;
vc->vsl = NULL;
- vc->orig_vsl_id = 0;
Lck_Lock(&bp->mtx);
VSC_C_main->backend_recycle++;
@@ -114,11 +110,8 @@ VDI_GetFd(const struct director *d, struct req *req)
d = req->director;
CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC);
vc = d->getfd(d, req);
- if (vc != NULL) {
+ if (vc != NULL)
vc->vsl = req->busyobj->vsl;
- vc->orig_vsl_id = vc->vsl->wid;
- vc->vsl->wid = vc->vsl_id;
- }
return (vc);
}
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index daef6a9..e7fee9b 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -59,7 +59,7 @@ ved_include(struct req *preq, const char *src, const char *host)
/* Take a workspace snapshot */
wrk_ws_wm = WS_Snapshot(wrk->aws); /* XXX ? */
- req = SES_GetReq(preq->sp);
+ req = SES_GetReq(wrk, preq->sp);
req->esi_level = preq->esi_level + 1;
HTTP_Copy(req->http0, preq->http0);
@@ -105,7 +105,7 @@ ved_include(struct req *preq, const char *src, const char *host)
i = CNT_Request(wrk, req);
if (i == 1)
break;
- DSL(0x20, SLT_Debug, req->sp->vsl_id,
+ DSL(0x20, SLT_Debug, req->vsl->wid,
"loop waiting for ESI (%d)", i);
assert(i == 2);
AZ(req->wrk);
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index aed84d9..80149c6 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -391,7 +391,6 @@ VGZ_UpdateObj(const struct vgz *vg, struct object *obj)
}
/*--------------------------------------------------------------------
- * Passing a vsl_id of -1 means "use wrk->vbc->vsl_id"
*/
int
diff --git a/bin/varnishd/cache/cache_hash.c b/bin/varnishd/cache/cache_hash.c
index fd0bbe1..0db0d6b 100644
--- a/bin/varnishd/cache/cache_hash.c
+++ b/bin/varnishd/cache/cache_hash.c
@@ -449,7 +449,6 @@ HSH_Lookup(struct req *req)
AZ(req->busyobj);
req->busyobj = VBO_GetBusyObj(wrk);
- req->busyobj->vsl->wid = req->sp->vsl_id;
req->busyobj->refcount = 2; /* One for req, one for FetchBody */
VRY_Validate(req->vary_b);
@@ -485,7 +484,7 @@ hsh_rush(struct dstat *ds, struct objhead *oh)
ds->busy_wakeup++;
AZ(req->wrk);
VTAILQ_REMOVE(&wl->list, req, w_list);
- DSL(0x20, SLT_Debug, req->sp->vsl_id, "off waiting list");
+ DSL(0x20, SLT_Debug, req->vsl->wid, "off waiting list");
if (SES_ScheduleReq(req)) {
/*
* We could not schedule the session, leave the
diff --git a/bin/varnishd/cache/cache_http.c b/bin/varnishd/cache/cache_http.c
index 3b9ae2e..ad29899 100644
--- a/bin/varnishd/cache/cache_http.c
+++ b/bin/varnishd/cache/cache_http.c
@@ -852,7 +852,7 @@ http_FilterReq(const struct req *req, unsigned how)
else
http_linkh(hp, req->http, HTTP_HDR_PROTO);
http_filterfields(hp, req->http, how);
- http_PrintfHeader(hp, "X-Varnish: %u", req->vxid);
+ http_PrintfHeader(hp, "X-Varnish: %u", req->vsl->wid & VSL_IDENTMASK);
}
/*--------------------------------------------------------------------*/
diff --git a/bin/varnishd/cache/cache_http1_fsm.c b/bin/varnishd/cache/cache_http1_fsm.c
index d181d11..ab870ad 100644
--- a/bin/varnishd/cache/cache_http1_fsm.c
+++ b/bin/varnishd/cache/cache_http1_fsm.c
@@ -245,6 +245,13 @@ http1_dissect(struct worker *wrk, struct req *req)
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
+ /*
+ * Cache_req_fsm zeros the vxid once a requests is processed.
+ * Allocate a new one only now that we know will need it.
+ */
+ if (req->vsl->wid == 0)
+ req->vsl->wid = VXID_Get(&wrk->vxid_pool) | VSL_CLIENTMARKER;
+
/* Borrow VCL reference from worker thread */
VCL_Refresh(&wrk->vcl);
req->vcl = wrk->vcl;
@@ -336,7 +343,6 @@ HTTP1_Session(struct worker *wrk, struct req *req)
if (done == 2)
return;
assert(done == 1);
- assert(req->vxid == 0);
sdr = http1_cleanup(sp, wrk, req);
switch (sdr) {
case SESS_DONE_RET_GONE:
diff --git a/bin/varnishd/cache/cache_panic.c b/bin/varnishd/cache/cache_panic.c
index e6b0941..ee7dd78 100644
--- a/bin/varnishd/cache/cache_panic.c
+++ b/bin/varnishd/cache/cache_panic.c
@@ -236,8 +236,7 @@ pan_req(const struct req *req)
VSB_printf(pan_vsp, "req = %p {\n", req);
- VSB_printf(pan_vsp, " sp = %p, vxid = %u,",
- req->sp, req->vxid);
+ VSB_printf(pan_vsp, " sp = %p, vxid = %u,", req->sp, req->vsl->wid);
switch (req->req_step) {
#define REQ_STEP(l, u, arg) case R_STP_##u: stp = "R_STP_" #u; break;
@@ -294,8 +293,8 @@ pan_sess(const struct sess *sp)
const char *stp;
VSB_printf(pan_vsp, " sp = %p {\n", sp);
- VSB_printf(pan_vsp, " fd = %d, id = %u,\n",
- sp->fd, sp->vsl_id & VSL_IDENTMASK);
+ VSB_printf(pan_vsp, " fd = %d, vxid = %u,\n",
+ sp->fd, sp->vxid & VSL_IDENTMASK);
VSB_printf(pan_vsp, " client = %s %s,\n",
sp->addr ? sp->addr : "?.?.?.?",
sp->port ? sp->port : "?");
diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index 6e03e4c..e99ed6c 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -270,7 +270,6 @@ cnt_error(struct worker *wrk, struct req *req)
bo = VBO_GetBusyObj(wrk);
req->busyobj = bo;
- bo->vsl->wid = req->sp->vsl_id;
AZ(bo->stats);
bo->stats = &wrk->stats;
req->objcore = HSH_NewObjCore(wrk);
@@ -286,7 +285,7 @@ cnt_error(struct worker *wrk, struct req *req)
return(1);
}
CHECK_OBJ_NOTNULL(req->obj, OBJECT_MAGIC);
- req->obj->vxid = req->vxid;
+ req->obj->vxid = bo->vsl->wid;
req->obj->exp.entered = req->t_req;
h = req->obj->http;
@@ -626,7 +625,7 @@ cnt_fetchbody(struct worker *wrk, struct req *req)
VSB_delete(vary);
}
- req->obj->vxid = req->vxid;
+ req->obj->vxid = bo->vsl->wid;
req->obj->response = req->err_code;
WS_Assert(req->obj->ws_o);
@@ -955,7 +954,6 @@ cnt_pass(struct worker *wrk, struct req *req)
req->busyobj = VBO_GetBusyObj(wrk);
bo = req->busyobj;
- bo->vsl->wid = req->sp->vsl_id;
bo->refcount = 2;
HTTP_Setup(bo->bereq, bo->ws, bo->vsl, HTTP_Bereq);
http_FilterReq(req, HTTPH_R_PASS);
@@ -1015,7 +1013,6 @@ cnt_pipe(struct worker *wrk, struct req *req)
req->acct_req.pipe++;
req->busyobj = VBO_GetBusyObj(wrk);
bo = req->busyobj;
- bo->vsl->wid = req->sp->vsl_id;
HTTP_Setup(bo->bereq, bo->ws, bo->vsl, HTTP_Bereq);
http_FilterReq(req, 0);
@@ -1103,8 +1100,7 @@ cnt_recv(const struct worker *wrk, struct req *req)
AZ(req->busyobj);
/* Assign XID and log */
- VSLb(req->vsl, SLT_ReqStart, "%s %s %u",
- req->sp->addr, req->sp->port, req->vxid);
+ VSLb(req->vsl, SLT_ReqStart, "%s %s", req->sp->addr, req->sp->port);
if (req->err_code) {
req->req_step = R_STP_ERROR;
@@ -1187,8 +1183,8 @@ cnt_diag(struct req *req, const char *state)
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
- VSLb(req->vsl, SLT_Debug, "vsl_id %u STP_%s sp %p obj %p vcl %p",
- req->sp->vsl_id, state, req->sp, req->obj, req->vcl);
+ VSLb(req->vsl, SLT_Debug, "vxid %u STP_%s sp %p obj %p vcl %p",
+ req->vsl->wid, state, req->sp, req->obj, req->vcl);
VSL_Flush(req->vsl, 0);
}
@@ -1207,8 +1203,7 @@ CNT_Request(struct worker *wrk, struct req *req)
req->req_step == R_STP_LOOKUP ||
req->req_step == R_STP_RECV);
- if (req->req_step == R_STP_RECV)
- req->vxid = VXID_Get(&wrk->vxid_pool);
+ AN(req->vsl->wid & VSL_CLIENTMARKER);
req->wrk = wrk;
@@ -1243,8 +1238,7 @@ CNT_Request(struct worker *wrk, struct req *req)
VSLb(req->vsl, SLT_Length, "%ju",
(uintmax_t)req->req_bodybytes);
}
- VSLb(req->vsl, SLT_ReqEnd, "%u %.9f %.9f %.9f %.9f %.9f",
- req->vxid,
+ VSLb(req->vsl, SLT_ReqEnd, "%.9f %.9f %.9f %.9f %.9f",
req->t_req,
req->sp->t_idle,
req->sp->t_idle - req->t_resp,
@@ -1253,7 +1247,12 @@ CNT_Request(struct worker *wrk, struct req *req)
/* done == 2 was charged by cache_hash.c */
SES_Charge(wrk, req);
- req->vxid = 0;
+
+ /*
+ * Nuke the VXID, cache_http1_fsm.c::http1_dissect() will
+ * allocate a new one when necessary.
+ */
+ req->vsl->wid = 0;
}
req->wrk = NULL;
diff --git a/bin/varnishd/cache/cache_response.c b/bin/varnishd/cache/cache_response.c
index 0a554f4..cb152a5 100644
--- a/bin/varnishd/cache/cache_response.c
+++ b/bin/varnishd/cache/cache_response.c
@@ -134,11 +134,13 @@ RES_BuildHttp(struct req *req)
VTIM_format(VTIM_real(), time_str);
http_PrintfHeader(req->resp, "Date: %s", time_str);
- if (req->vxid != req->obj->vxid)
+ if (req->wrk->stats.cache_hit)
http_PrintfHeader(req->resp,
- "X-Varnish: %u %u", req->vxid, req->obj->vxid);
+ "X-Varnish: %u %u", req->vsl->wid & VSL_IDENTMASK,
+ req->obj->vxid & VSL_IDENTMASK);
else
- http_PrintfHeader(req->resp, "X-Varnish: %u", req->vxid);
+ http_PrintfHeader(req->resp,
+ "X-Varnish: %u", req->vsl->wid & VSL_IDENTMASK);
http_PrintfHeader(req->resp, "Age: %.0f",
req->obj->exp.age + req->t_resp -
req->obj->exp.entered);
diff --git a/bin/varnishd/cache/cache_rfc2616.c b/bin/varnishd/cache/cache_rfc2616.c
index 7f5fd35..d0d0d87 100644
--- a/bin/varnishd/cache/cache_rfc2616.c
+++ b/bin/varnishd/cache/cache_rfc2616.c
@@ -169,8 +169,8 @@ RFC2616_Ttl(struct busyobj *bo)
/* calculated TTL, Our time, Date, Expires, max-age, age */
VSLb(bo->vsl, SLT_TTL,
- "%u RFC %.0f %.0f %.0f %.0f %.0f %.0f %.0f %u",
- bo->vxid, expp->ttl, -1., -1., expp->entered,
+ "RFC %.0f %.0f %.0f %.0f %.0f %.0f %.0f %u",
+ expp->ttl, -1., -1., expp->entered,
expp->age, h_date, h_expires, max_age);
}
diff --git a/bin/varnishd/cache/cache_session.c b/bin/varnishd/cache/cache_session.c
index 33c63ba..6cffa69 100644
--- a/bin/varnishd/cache/cache_session.c
+++ b/bin/varnishd/cache/cache_session.c
@@ -160,7 +160,7 @@ ses_sess_pool_task(struct worker *wrk, void *arg)
CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CAST_OBJ_NOTNULL(sp, arg, SESS_MAGIC);
- req = SES_GetReq(sp);
+ req = SES_GetReq(wrk, sp);
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
sp->sess_step = S_STP_NEWREQ;
@@ -228,7 +228,7 @@ SES_pool_accept_task(struct worker *wrk, void *arg)
sp->t_open = VTIM_real();
sp->t_idle = sp->t_open;
- sp->vxid = VXID_Get(&wrk->vxid_pool);
+ sp->vxid = VXID_Get(&wrk->vxid_pool) | VSL_CLIENTMARKER;
lsockname = VCA_SetupSess(wrk, sp);
ses_vsl_socket(sp, lsockname);
@@ -343,7 +343,7 @@ SES_Delete(struct sess *sp, enum sess_close reason, double now)
*/
struct req *
-SES_GetReq(struct sess *sp)
+SES_GetReq(struct worker *wrk, struct sess *sp)
{
struct sesspool *pp;
struct req *req;
@@ -351,6 +351,7 @@ SES_GetReq(struct sess *sp)
unsigned sz, hl;
char *p, *e;
+ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
pp = sp->sesspool;
CHECK_OBJ_NOTNULL(pp, SESSPOOL_MAGIC);
@@ -386,7 +387,7 @@ SES_GetReq(struct sess *sp)
sz = cache_param->workspace_thread;
VSL_Setup(req->vsl, p, sz);
- req->vsl->wid = sp->vsl_id;
+ req->vsl->wid = VXID_Get(&wrk->vxid_pool) | VSL_CLIENTMARKER;
p += sz;
p = (void*)PRNDUP(p);
diff --git a/bin/varnishd/cache/cache_vrt_var.c b/bin/varnishd/cache/cache_vrt_var.c
index 215e7b6..61000a1 100644
--- a/bin/varnishd/cache/cache_vrt_var.c
+++ b/bin/varnishd/cache/cache_vrt_var.c
@@ -422,11 +422,11 @@ VRT_DO_EXP(obj, req->obj->exp, keep, 0,
vrt_wsp_exp(req, req->obj->vxid, &req->obj->exp);)
VRT_DO_EXP(beresp, req->busyobj->exp, grace, 0,
- vrt_wsp_exp(req, req->vxid, &req->busyobj->exp);)
+ vrt_wsp_exp(req, req->vsl->wid & VSL_IDENTMASK, &req->busyobj->exp);)
VRT_DO_EXP(beresp, req->busyobj->exp, ttl, 0,
- vrt_wsp_exp(req, req->vxid, &req->busyobj->exp);)
+ vrt_wsp_exp(req, req->vsl->wid & VSL_IDENTMASK, &req->busyobj->exp);)
VRT_DO_EXP(beresp, req->busyobj->exp, keep, 0,
- vrt_wsp_exp(req, req->vxid, &req->busyobj->exp);)
+ vrt_wsp_exp(req, req->vsl->wid & VSL_IDENTMASK, &req->busyobj->exp);)
/*--------------------------------------------------------------------
* req.xid
@@ -439,9 +439,9 @@ VRT_r_req_xid(const struct req *req)
int size;
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
- size = snprintf(NULL, 0, "%u", req->vxid) + 1;
+ size = snprintf(NULL, 0, "%u", req->vsl->wid & VSL_IDENTMASK) + 1;
AN(p = WS_Alloc(req->http->ws, size));
- assert(snprintf(p, size, "%u", req->vxid) < size);
+ assert(snprintf(p, size, "%u", req->vsl->wid & VSL_IDENTMASK) < size);
return (p);
}
diff --git a/bin/varnishd/waiter/cache_waiter_kqueue.c b/bin/varnishd/waiter/cache_waiter_kqueue.c
index a7403d6..bc5c67f 100644
--- a/bin/varnishd/waiter/cache_waiter_kqueue.c
+++ b/bin/varnishd/waiter/cache_waiter_kqueue.c
@@ -80,7 +80,7 @@ vwk_kq_sess(struct vwk *vwk, struct sess *sp, short arm)
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
assert(sp->fd >= 0);
- DSL(0x04, SLT_Debug, sp->vsl_id, "KQ: EV_SET sp %p arm %x", sp, arm);
+ DSL(0x04, SLT_Debug, sp->vxid, "KQ: EV_SET sp %p arm %x", sp, arm);
EV_SET(&vwk->ki[vwk->nki], sp->fd, EVFILT_READ, arm, 0, 0, sp);
if (++vwk->nki == NKEV)
vwk_kq_flush(vwk);
@@ -121,12 +121,10 @@ vwk_sess_ev(struct vwk *vwk, const struct kevent *kp, double now)
AN(kp->udata);
assert(kp->udata != vwk->pipes);
CAST_OBJ_NOTNULL(sp, kp->udata, SESS_MAGIC);
- DSL(0x04, SLT_Debug, sp->vsl_id, "KQ: sp %p kev data %lu flags 0x%x%s",
+ DSL(0x04, SLT_Debug, sp->vxid, "KQ: sp %p kev data %lu flags 0x%x%s",
sp, (unsigned long)kp->data, kp->flags,
(kp->flags & EV_EOF) ? " EOF" : "");
- assert((sp->vsl_id & VSL_IDENTMASK) == kp->ident);
- assert((sp->vsl_id & VSL_IDENTMASK) == sp->fd);
if (kp->data > 0) {
VTAILQ_REMOVE(&vwk->sesshead, sp, list);
SES_Handle(sp, now);
@@ -136,7 +134,7 @@ vwk_sess_ev(struct vwk *vwk, const struct kevent *kp, double now)
SES_Delete(sp, SC_REM_CLOSE, now);
return;
} else {
- VSL(SLT_Debug, sp->vsl_id,
+ VSL(SLT_Debug, sp->vxid,
"KQ: sp %p kev data %lu flags 0x%x%s",
sp, (unsigned long)kp->data, kp->flags,
(kp->flags & EV_EOF) ? " EOF" : "");
diff --git a/bin/varnishtest/tests/b00003.vtc b/bin/varnishtest/tests/b00003.vtc
index 177643c..55442b3 100644
--- a/bin/varnishtest/tests/b00003.vtc
+++ b/bin/varnishtest/tests/b00003.vtc
@@ -18,7 +18,7 @@ client c2 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1004 1001"
+ expect resp.http.X-Varnish == "1004 1002"
} -run
# Give varnish a chance to update stats
diff --git a/bin/varnishtest/tests/b00010.vtc b/bin/varnishtest/tests/b00010.vtc
index cfa3266..05b9e91 100644
--- a/bin/varnishtest/tests/b00010.vtc
+++ b/bin/varnishtest/tests/b00010.vtc
@@ -14,5 +14,5 @@ client c1 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.x-varnish == "1003 1001"
+ expect resp.http.x-varnish == "1003 1002"
} -run
diff --git a/bin/varnishtest/tests/b00012.vtc b/bin/varnishtest/tests/b00012.vtc
index 302767b..0aa9cec 100644
--- a/bin/varnishtest/tests/b00012.vtc
+++ b/bin/varnishtest/tests/b00012.vtc
@@ -24,7 +24,7 @@ client c1 {
rxresp
expect resp.status == 200
expect resp.bodylen == 6
- expect resp.http.x-varnish == "1005 1003"
+ expect resp.http.x-varnish == "1005 1004"
} -run
varnish v1 -expect sess_pipeline == 2
diff --git a/bin/varnishtest/tests/b00013.vtc b/bin/varnishtest/tests/b00013.vtc
index f0be1d9..d0b957a 100644
--- a/bin/varnishtest/tests/b00013.vtc
+++ b/bin/varnishtest/tests/b00013.vtc
@@ -26,7 +26,7 @@ client c1 {
rxresp
expect resp.status == 200
expect resp.bodylen == 6
- expect resp.http.x-varnish == "1005 1003"
+ expect resp.http.x-varnish == "1005 1004"
} -run
varnish v1 -expect sess_readahead == 2
diff --git a/bin/varnishtest/tests/b00015.vtc b/bin/varnishtest/tests/b00015.vtc
index 2e94add..fc022c3 100644
--- a/bin/varnishtest/tests/b00015.vtc
+++ b/bin/varnishtest/tests/b00015.vtc
@@ -42,7 +42,7 @@ client c1 {
txreq -url "/"
rxresp
expect resp.status == 302
- expect resp.http.X-varnish == "1012 1009"
+ expect resp.http.X-varnish == "1012 1010"
} -run
# Then check that a non-cacheable error from the backend can be
@@ -71,5 +71,5 @@ client c1 {
txreq -url "/2"
rxresp
expect resp.status == 502
- expect resp.http.X-varnish == "1017 1014"
+ expect resp.http.X-varnish == "1017 1015"
} -run
diff --git a/bin/varnishtest/tests/c00004.vtc b/bin/varnishtest/tests/c00004.vtc
index cd79441..3074eb8 100644
--- a/bin/varnishtest/tests/c00004.vtc
+++ b/bin/varnishtest/tests/c00004.vtc
@@ -44,7 +44,7 @@ client c1 {
txreq -hdr "Foobar: 1 "
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1009 1001"
+ expect resp.http.X-Varnish == "1009 1002"
expect resp.http.snafu == "1"
} -run
diff --git a/bin/varnishtest/tests/c00010.vtc b/bin/varnishtest/tests/c00010.vtc
index 1b6a5ec..238dada 100644
--- a/bin/varnishtest/tests/c00010.vtc
+++ b/bin/varnishtest/tests/c00010.vtc
@@ -25,7 +25,7 @@ client c1 {
rxresp
expect resp.status == 200
expect resp.bodylen == 7
- expect resp.http.x-varnish == "1003"
+ expect resp.http.x-varnish == "1003 1004"
}
client c1 -run
diff --git a/bin/varnishtest/tests/c00013.vtc b/bin/varnishtest/tests/c00013.vtc
index a79244b..7bc36ae 100644
--- a/bin/varnishtest/tests/c00013.vtc
+++ b/bin/varnishtest/tests/c00013.vtc
@@ -29,7 +29,7 @@ client c2 {
rxresp
expect resp.status == 200
expect resp.bodylen == 12
- expect resp.http.x-varnish == "1004 1001"
+ expect resp.http.x-varnish == "1004 1002"
} -run
client c1 -wait
diff --git a/bin/varnishtest/tests/c00015.vtc b/bin/varnishtest/tests/c00015.vtc
index 8490bf3..cbf5cca 100644
--- a/bin/varnishtest/tests/c00015.vtc
+++ b/bin/varnishtest/tests/c00015.vtc
@@ -46,7 +46,7 @@ client c3 {
rxresp
expect resp.status == 200
expect resp.bodylen == 6
- expect resp.http.x-varnish == "1007 1001"
+ expect resp.http.x-varnish == "1007 1002"
} -run
varnish v1 -cli "vcl.show vcl2"
diff --git a/bin/varnishtest/tests/c00020.vtc b/bin/varnishtest/tests/c00020.vtc
index 8e14f12..3713951 100644
--- a/bin/varnishtest/tests/c00020.vtc
+++ b/bin/varnishtest/tests/c00020.vtc
@@ -19,7 +19,7 @@ client c2 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1004 1001"
+ expect resp.http.X-Varnish == "1004 1002"
} -run
server s1 {
@@ -39,7 +39,7 @@ client c2 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1008 1001"
+ expect resp.http.X-Varnish == "1008 1002"
txreq -url "/bar"
rxresp
expect resp.status == 200
@@ -47,7 +47,7 @@ client c2 {
txreq -url "/foo"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1011 1006"
+ expect resp.http.X-Varnish == "1011 1007"
} -run
varnish v1 -expect sess_conn == 3
diff --git a/bin/varnishtest/tests/c00023.vtc b/bin/varnishtest/tests/c00023.vtc
index a29908d..b57c8c1 100644
--- a/bin/varnishtest/tests/c00023.vtc
+++ b/bin/varnishtest/tests/c00023.vtc
@@ -95,55 +95,55 @@ client c1 {
rxresp
expect resp.status == 200
expect resp.bodylen == 1
- expect resp.http.X-Varnish == "1020 1001"
+ expect resp.http.X-Varnish == "1020 1002"
txreq -url "/2"
rxresp
expect resp.bodylen == 2
expect resp.status == 200
- expect resp.http.X-Varnish == "1021 1003"
+ expect resp.http.X-Varnish == "1021 1004"
txreq -url "/3"
rxresp
expect resp.bodylen == 3
expect resp.status == 200
- expect resp.http.X-Varnish == "1022 1005"
+ expect resp.http.X-Varnish == "1022 1006"
txreq -url "/4"
rxresp
expect resp.bodylen == 4
expect resp.status == 200
- expect resp.http.X-Varnish == "1023 1007"
+ expect resp.http.X-Varnish == "1023 1008"
txreq -url "/5"
rxresp
expect resp.bodylen == 5
expect resp.status == 200
- expect resp.http.X-Varnish == "1024 1009"
+ expect resp.http.X-Varnish == "1024 1010"
txreq -url "/6"
rxresp
expect resp.bodylen == 6
expect resp.status == 200
- expect resp.http.X-Varnish == "1025 1011"
+ expect resp.http.X-Varnish == "1025 1012"
txreq -url "/7"
rxresp
expect resp.bodylen == 7
expect resp.status == 200
- expect resp.http.X-Varnish == "1026 1013"
+ expect resp.http.X-Varnish == "1026 1014"
txreq -url "/8"
rxresp
expect resp.bodylen == 8
expect resp.status == 200
- expect resp.http.X-Varnish == "1027 1015"
+ expect resp.http.X-Varnish == "1027 1016"
txreq -url "/9"
rxresp
expect resp.bodylen == 9
expect resp.status == 200
- expect resp.http.X-Varnish == "1028 1017"
+ expect resp.http.X-Varnish == "1028 1018"
} -run
varnish v1 -cliok "hcb.dump"
diff --git a/bin/varnishtest/tests/p00000.vtc b/bin/varnishtest/tests/p00000.vtc
index 0a17be2..12fa676 100644
--- a/bin/varnishtest/tests/p00000.vtc
+++ b/bin/varnishtest/tests/p00000.vtc
@@ -29,12 +29,13 @@ varnish v1 -cliok "debug.persistent s0 sync"
varnish v1 -stop
varnish v1 -start
+varnish v1 -cliok "debug.xid 1999"
client c1 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1001"
+ expect resp.http.X-Varnish == "2001 1002"
} -run
# shell "rm -f /tmp/__v1/_.per"
diff --git a/bin/varnishtest/tests/p00001.vtc b/bin/varnishtest/tests/p00001.vtc
index 4afccf3..26ea975 100644
--- a/bin/varnishtest/tests/p00001.vtc
+++ b/bin/varnishtest/tests/p00001.vtc
@@ -32,12 +32,13 @@ varnish v1 -vcl+backend {
server s1 -wait
varnish v1 -start
+varnish v1 -cliok "debug.xid 1999"
client c1 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1001"
+ expect resp.http.X-Varnish == "2001 1002"
expect resp.http.foo == "foo"
} -run
@@ -53,12 +54,13 @@ varnish v1 -vcl+backend { }
delay 2
varnish v1 -start
+varnish v1 -cliok "debug.xid 2999"
client c1 {
txreq -url "/"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1001"
+ expect resp.http.X-Varnish == "3001"
expect resp.http.foo == "bar"
} -run
diff --git a/bin/varnishtest/tests/p00004.vtc b/bin/varnishtest/tests/p00004.vtc
index dab8ea4..343d7de 100644
--- a/bin/varnishtest/tests/p00004.vtc
+++ b/bin/varnishtest/tests/p00004.vtc
@@ -46,7 +46,7 @@ client c1 {
txreq -url "/foo"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "2001 1001"
+ expect resp.http.X-Varnish == "2001 1002"
expect resp.http.foo == "foo"
} -run
@@ -57,7 +57,7 @@ client c1 {
txreq -url "/bar"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "2003 1004"
+ expect resp.http.X-Varnish == "2003 1005"
expect resp.http.bar == "bar"
} -run
diff --git a/bin/varnishtest/tests/p00006.vtc b/bin/varnishtest/tests/p00006.vtc
index 3334f36..0adb67b 100644
--- a/bin/varnishtest/tests/p00006.vtc
+++ b/bin/varnishtest/tests/p00006.vtc
@@ -43,13 +43,13 @@ client c1 {
txreq -url "/foo" -hdr "foo: 1" -hdr "bar: 2"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "2001 1001"
+ expect resp.http.X-Varnish == "2001 1002"
expect resp.http.foo == "foo1"
txreq -url "/foo" -hdr "foo: 2" -hdr "bar: 1"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "2002 1003"
+ expect resp.http.X-Varnish == "2002 1004"
expect resp.http.foo == "foo2"
} -run
diff --git a/bin/varnishtest/tests/r00102.vtc b/bin/varnishtest/tests/r00102.vtc
index d2a3c13..0fa597b 100644
--- a/bin/varnishtest/tests/r00102.vtc
+++ b/bin/varnishtest/tests/r00102.vtc
@@ -28,7 +28,7 @@ client c1 {
-body "123456789\n"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1003 1001"
+ expect resp.http.X-Varnish == "1003 1002"
}
client c1 -run
diff --git a/bin/varnishtest/tests/r00262.vtc b/bin/varnishtest/tests/r00262.vtc
index 1deb9ea..09ed730 100644
--- a/bin/varnishtest/tests/r00262.vtc
+++ b/bin/varnishtest/tests/r00262.vtc
@@ -19,7 +19,7 @@ client c1 {
send "GET / HTTP/1.1\r\n\r\n"
rxresp
expect resp.status == 200
- expect resp.http.X-Varnish == "1003 1001"
+ expect resp.http.X-Varnish == "1003 1002"
}
client c1 -run
diff --git a/bin/varnishtest/tests/s00002.vtc b/bin/varnishtest/tests/s00002.vtc
index 31fb400..ab3736e 100644
--- a/bin/varnishtest/tests/s00002.vtc
+++ b/bin/varnishtest/tests/s00002.vtc
@@ -69,5 +69,5 @@ client c2 {
rxresp
expect resp.http.foo == "bar"
expect resp.status == 200
- expect resp.http.x-varnish == "1004 1001"
+ expect resp.http.x-varnish == "1004 1002"
} -run
More information about the varnish-commit
mailing list