[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