[master] 393762b Add VFP_Extend() to pair with VFP_GetStorage() for general sanity
Poul-Henning Kamp
phk at FreeBSD.org
Thu Jan 28 12:49:18 CET 2016
commit 393762beeb13ab2f66c61193b2d2025fc89cf701
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Jan 19 10:05:19 2016 +0000
Add VFP_Extend() to pair with VFP_GetStorage() for general sanity
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 9fdb6f1..ec9ced0 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -670,7 +670,7 @@ double BAN_Time(const struct ban *ban);
/* cache_busyobj.c */
struct busyobj *VBO_GetBusyObj(struct worker *, const struct req *);
void VBO_DerefBusyObj(struct worker *wrk, struct busyobj **busyobj);
-void VBO_extend(struct busyobj *, ssize_t);
+void VBO_extend(struct objcore *, struct busyobj *, ssize_t);
ssize_t VBO_waitlen(struct worker *, struct objcore *, struct busyobj *,
ssize_t l);
void VBO_setstate(struct busyobj *bo, enum busyobj_state_e next);
diff --git a/bin/varnishd/cache/cache_busyobj.c b/bin/varnishd/cache/cache_busyobj.c
index f9c239a..fdfa0e7 100644
--- a/bin/varnishd/cache/cache_busyobj.c
+++ b/bin/varnishd/cache/cache_busyobj.c
@@ -221,16 +221,16 @@ VBO_DerefBusyObj(struct worker *wrk, struct busyobj **pbo)
}
void
-VBO_extend(struct busyobj *bo, ssize_t l)
+VBO_extend(struct objcore *oc, struct busyobj *bo, ssize_t l)
{
+ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
- CHECK_OBJ_NOTNULL(bo->vfc, VFP_CTX_MAGIC);
if (l == 0)
return;
assert(l > 0);
Lck_Lock(&bo->mtx);
- ObjExtend(bo->wrk, bo->vfc->oc, l);
+ ObjExtend(bo->wrk, oc, l);
AZ(pthread_cond_broadcast(&bo->cond));
Lck_Unlock(&bo->mtx);
}
diff --git a/bin/varnishd/cache/cache_esi_fetch.c b/bin/varnishd/cache/cache_esi_fetch.c
index 0d83b9f..bce3e45 100644
--- a/bin/varnishd/cache/cache_esi_fetch.c
+++ b/bin/varnishd/cache/cache_esi_fetch.c
@@ -96,7 +96,7 @@ vfp_vep_callback(struct vfp_ctx *vc, void *priv, ssize_t l, enum vgz_flag flg)
i = VGZ_Gzip(vef->vgz, &dp, &dl, flg);
VGZ_UpdateObj(vc, vef->vgz, VUA_UPDATE);
vef->tot += dl;
- VBO_extend(vc->bo, dl);
+ VFP_Extend(vc, dl);
} while (i != VGZ_ERROR &&
(!VGZ_IbufEmpty(vef->vgz) || VGZ_ObufFull(vef->vgz)));
assert(i == VGZ_ERROR || VGZ_IbufEmpty(vef->vgz));
diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index 503dc3c..f781111 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -511,7 +511,7 @@ vbf_fetch_body_helper(struct busyobj *bo)
vfps = VFP_Suck(vfc, ptr, &l);
if (l > 0 && vfps != VFP_ERROR) {
bo->acct.beresp_bodybytes += l;
- VBO_extend(bo, l);
+ VFP_Extend(vfc, l);
if (est >= l)
est -= l;
else
@@ -711,7 +711,7 @@ vbf_objiterator(void *priv, int flush, const void *ptr, ssize_t len)
if (len < l)
l = len;
memcpy(pd, ps, l);
- VBO_extend(bo, l);
+ VFP_Extend(bo->vfc, l);
ps += l;
len -= l;
}
@@ -851,7 +851,7 @@ vbf_stp_error(struct worker *wrk, struct busyobj *bo)
if (VFP_GetStorage(bo->vfc, &l, &ptr) != VFP_OK)
break;
memcpy(ptr, VSB_data(synth_body) + o, l);
- VBO_extend(bo, l);
+ VFP_Extend(bo->vfc, l);
ll -= l;
o += l;
}
diff --git a/bin/varnishd/cache/cache_fetch_proc.c b/bin/varnishd/cache/cache_fetch_proc.c
index 5333c62..d297104 100644
--- a/bin/varnishd/cache/cache_fetch_proc.c
+++ b/bin/varnishd/cache/cache_fetch_proc.c
@@ -72,7 +72,6 @@ VFP_GetStorage(struct vfp_ctx *vc, ssize_t *sz, uint8_t **ptr)
{
ssize_t l;
-
CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
AN(sz);
assert(*sz >= 0);
@@ -94,6 +93,14 @@ VFP_GetStorage(struct vfp_ctx *vc, ssize_t *sz, uint8_t **ptr)
return (VFP_OK);
}
+void
+VFP_Extend(const struct vfp_ctx *vc, ssize_t sz)
+{
+ CHECK_OBJ_NOTNULL(vc, VFP_CTX_MAGIC);
+
+ VBO_extend(vc->oc, vc->bo, sz);
+}
+
/**********************************************************************
*/
diff --git a/bin/varnishd/cache/cache_filter.h b/bin/varnishd/cache/cache_filter.h
index aba9d65..3ffed7e 100644
--- a/bin/varnishd/cache/cache_filter.h
+++ b/bin/varnishd/cache/cache_filter.h
@@ -84,6 +84,7 @@ enum vfp_status VFP_Error(struct vfp_ctx *, const char *fmt, ...)
/* cache_fetch_proc.c */
enum vfp_status VFP_GetStorage(struct vfp_ctx *, ssize_t *sz, uint8_t **ptr);
+void VFP_Extend(const struct vfp_ctx *, ssize_t sz);
/* Deliver processors ------------------------------------------------*/
More information about the varnish-commit
mailing list