[master] 75f8f3a More reduction of vfp_ctx->bo usage
Poul-Henning Kamp
phk at FreeBSD.org
Tue Aug 19 10:19:45 CEST 2014
commit 75f8f3a1c1487565854c5700b4d1416237cc7bec
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Aug 19 08:19:22 2014 +0000
More reduction of vfp_ctx->bo usage
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 8fb679f..4166f40 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -465,6 +465,7 @@ struct vfp_ctx {
struct vsl_log *vsl;
struct http *http;
+ struct http *esi_req;
struct body *body;
uint64_t bodybytes;
};
diff --git a/bin/varnishd/cache/cache_esi_fetch.c b/bin/varnishd/cache/cache_esi_fetch.c
index d0f1bc6..a0d10f8 100644
--- a/bin/varnishd/cache/cache_esi_fetch.c
+++ b/bin/varnishd/cache/cache_esi_fetch.c
@@ -110,7 +110,6 @@ vfp_esi_end(struct vfp_ctx *vc, struct vef_priv *vef,
void *p;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(vef, VEF_MAGIC);
vsb = VEP_Finish(vef->vep);
@@ -146,13 +145,13 @@ vfp_esi_gzip_init(struct vfp_ctx *vc, struct vfp_entry *vfe)
struct vef_priv *vef;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
+ CHECK_OBJ_NOTNULL(vc->esi_req, HTTP_MAGIC);
CHECK_OBJ_NOTNULL(vfe, VFP_ENTRY_MAGIC);
ALLOC_OBJ(vef, VEF_MAGIC);
if (vef == NULL)
return (VFP_ERROR);
vef->vgz = VGZ_NewGzip(vc->vsl, "G F E");
- vef->vep = VEP_Init(vc, vc->bo->bereq, vfp_vep_callback, vef);
+ vef->vep = VEP_Init(vc, vc->esi_req, vfp_vep_callback, vef);
vef->ibuf_sz = cache_param->gzip_buffer;
vef->ibuf = calloc(1L, vef->ibuf_sz);
if (vef->ibuf == NULL)
@@ -178,7 +177,6 @@ vfp_esi_gzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p,
struct vef_priv *vef;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(vfe, VFP_ENTRY_MAGIC);
CAST_OBJ_NOTNULL(vef, vfe->priv1, VEF_MAGIC);
AN(p);
@@ -219,11 +217,11 @@ vfp_esi_init(struct vfp_ctx *vc, struct vfp_entry *vfe)
struct vef_priv *vef;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
+ CHECK_OBJ_NOTNULL(vc->esi_req, HTTP_MAGIC);
ALLOC_OBJ(vef, VEF_MAGIC);
if (vef == NULL)
return (VFP_ERROR);
- vef->vep = VEP_Init(vc, vc->bo->bereq, NULL, NULL);
+ vef->vep = VEP_Init(vc, vc->esi_req, NULL, NULL);
vfe->priv1 = vef;
return (VFP_OK);
}
@@ -236,7 +234,6 @@ vfp_esi_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p, ssize_t *lp)
struct vef_priv *vef;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(vfe, VFP_ENTRY_MAGIC);
CAST_OBJ_NOTNULL(vef, vfe->priv1, VEF_MAGIC);
AN(p);
diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index 2ad6a48..faad2b1 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -367,6 +367,7 @@ vbf_stp_startfetch(struct worker *wrk, struct busyobj *bo)
bo->vfc->oc = bo->fetch_objcore;
bo->vfc->stats = bo->stats;
bo->vfc->http = bo->beresp;
+ bo->vfc->esi_req = bo->bereq;
bo->vfc->vsl = bo->vsl;
VCL_backend_response_method(bo->vcl, wrk, NULL, bo, bo->beresp->ws);
@@ -689,6 +690,7 @@ vbf_stp_error(struct worker *wrk, struct busyobj *bo)
bo->vfc->oc = bo->fetch_objcore;
bo->vfc->stats = bo->stats;
bo->vfc->http = bo->beresp;
+ bo->vfc->esi_req = bo->bereq;
bo->vfc->vsl = bo->vsl;
if (vbf_beresp2obj(bo))
diff --git a/bin/varnishd/cache/cache_fetch_proc.c b/bin/varnishd/cache/cache_fetch_proc.c
index 43d89ef..5c42c83 100644
--- a/bin/varnishd/cache/cache_fetch_proc.c
+++ b/bin/varnishd/cache/cache_fetch_proc.c
@@ -161,7 +161,6 @@ VFP_Suck(struct vfp_ctx *vc, void *p, ssize_t *lp)
struct vfp_entry *vfe;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
AN(p);
AN(lp);
vfe = vc->vfp_nxt;
@@ -262,7 +261,7 @@ VFP_Push(struct vfp_ctx *vc, const struct vfp *vfp, int top)
struct vfp_entry *vfe;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- vfe = (void*)WS_Alloc(vc->bo->ws, sizeof *vfe);
+ vfe = (void*)WS_Alloc(vc->http->ws, sizeof *vfe);
AN(vfe);
vfe->magic = VFP_ENTRY_MAGIC;
vfe->vfp = vfp;
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index 96406ee..119be81 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -567,7 +567,6 @@ vfp_gzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p,
enum vfp_status vp = VFP_ERROR;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(vfe, VFP_ENTRY_MAGIC);
CAST_OBJ_NOTNULL(vg, vfe->priv1, VGZ_MAGIC);
AN(p);
@@ -622,7 +621,6 @@ vfp_testgunzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p,
enum vfp_status vp;
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
CHECK_OBJ_NOTNULL(vfe, VFP_ENTRY_MAGIC);
CAST_OBJ_NOTNULL(vg, vfe->priv1, VGZ_MAGIC);
AN(p);
diff --git a/bin/varnishd/storage/stevedore.c b/bin/varnishd/storage/stevedore.c
index 39fddd9..bbec41a 100644
--- a/bin/varnishd/storage/stevedore.c
+++ b/bin/varnishd/storage/stevedore.c
@@ -194,7 +194,6 @@ stv_alloc_obj(const struct vfp_ctx *vc, size_t size)
* keep an object inside the same stevedore.
*/
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
- CHECK_OBJ_NOTNULL(vc->bo, BUSYOBJ_MAGIC);
stv = vc->body->stevedore;
CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
More information about the varnish-commit
mailing list