
tfheen at varnish-cache
Aug 6, 2013, 2:56 AM
Post #1 of 1
(17 views)
Permalink
|
|
[3.0] 412c4f7 Emit BackendXID and check c_flag/b_flag properly
|
|
commit 412c4f754dd805e06803efa170e5d62afd23dd0d Author: Tollef Fog Heen <tfheen [at] varnish-software> Date: Tue Aug 6 11:15:15 2013 +0200 Emit BackendXID and check c_flag/b_flag properly 07d488cb96c703dd7c0ccf7049448c6291f1f0cf partially broke varnishlog, since libvarnishapi did not properly check if both -c and -b were given. In addition, varnishd did not emit a tag at the start of a backend transaction. Emit BackendXID since that seems appropriate. Fixes #1325 diff --git a/bin/varnishd/cache_dir.c b/bin/varnishd/cache_dir.c index 2463aa8..dd44bf0 100644 --- a/bin/varnishd/cache_dir.c +++ b/bin/varnishd/cache_dir.c @@ -94,12 +94,15 @@ VDI_RecycleFd(struct sess *sp) struct vbc * VDI_GetFd(const struct director *d, struct sess *sp) { - + struct vbc *vbc; CHECK_OBJ_NOTNULL(sp, SESS_MAGIC); if (d == NULL) d = sp->director; CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC); - return (d->getfd(d, sp)); + vbc = d->getfd(d, sp); + if (vbc) + WSL(sp->wrk, SLT_BackendXID, vbc->fd, "%d", sp->xid); + return (vbc); } /* Check health ------------------------------------------------------ diff --git a/lib/libvarnishapi/vsl.c b/lib/libvarnishapi/vsl.c index 8ffff30..8ae2856 100644 --- a/lib/libvarnishapi/vsl.c +++ b/lib/libvarnishapi/vsl.c @@ -252,9 +252,9 @@ VSL_NextLog(const struct VSM_data *vd, uint32_t **pp, uint64_t *bits) } if (vbit_test(vsl->vbm_supress, t)) continue; - if (vsl->b_opt && !vbit_test(vsl->vbm_backend, u)) + if (vsl->b_opt && !vbit_test(vsl->vbm_backend, u) && !vsl->c_opt) continue; - if (vsl->c_opt && !vbit_test(vsl->vbm_client, u)) + if (vsl->c_opt && !vbit_test(vsl->vbm_client, u) && !vsl->b_opt) continue; if (vsl->regincl != NULL) { i = VRE_exec(vsl->regincl, VSL_DATA(p), VSL_LEN(p), _______________________________________________ varnish-commit mailing list varnish-commit [at] varnish-cache https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit
|