[master] da10ea3 Make VDI_Healthy() req/busyobj agnostic.

Poul-Henning Kamp phk at varnish-cache.org
Mon Apr 29 15:43:28 CEST 2013


commit da10ea304ca9c20afaf36bc3eb672968b42ae758
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Apr 29 13:43:13 2013 +0000

    Make VDI_Healthy() req/busyobj agnostic.

diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index e24fe84..e77ebc8 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -735,7 +735,7 @@ void VBE_DiscardHealth(const struct director *vdi);
 
 
 struct vbc *VDI_GetFd(const struct director *, struct req *);
-int VDI_Healthy(const struct director *, const struct req *);
+int VDI_Healthy(const struct director *, const uint8_t *digest);
 void VDI_CloseFd(struct vbc **vbp);
 void VDI_RecycleFd(struct vbc **vbp);
 void VDI_AddHostHeader(struct http *to, const struct vbc *vbc);
diff --git a/bin/varnishd/cache/cache_dir.c b/bin/varnishd/cache/cache_dir.c
index 68e6e99..f4a21c9 100644
--- a/bin/varnishd/cache/cache_dir.c
+++ b/bin/varnishd/cache/cache_dir.c
@@ -123,10 +123,9 @@ VDI_GetFd(const struct director *d, struct req *req)
  */
 
 int
-VDI_Healthy(const struct director *d, const struct req *req)
+VDI_Healthy(const struct director *d, const uint8_t *digest)
 {
 
-	CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
 	CHECK_OBJ_NOTNULL(d, DIRECTOR_MAGIC);
-	return (d->healthy(d, req->digest));
+	return (d->healthy(d, digest));
 }
diff --git a/bin/varnishd/cache/cache_req_fsm.c b/bin/varnishd/cache/cache_req_fsm.c
index 3c6c96d..cefc1ce 100644
--- a/bin/varnishd/cache/cache_req_fsm.c
+++ b/bin/varnishd/cache/cache_req_fsm.c
@@ -779,7 +779,7 @@ VSLb(req->vsl, SLT_Debug, "XXXX EXP\n");
 VSLb(req->vsl, SLT_Debug, "XXXX EXPBUSY\n");
 		AN(oc);
 		AN(boc);
-		if (VDI_Healthy(req->director, req)) {
+		if (VDI_Healthy(req->director, req->digest)) {
 VSLb(req->vsl, SLT_Debug, "deref oc\n");
 			(void)HSH_Deref(&wrk->stats, oc, NULL);
 			oc = boc;
diff --git a/bin/varnishd/cache/cache_vrt_var.c b/bin/varnishd/cache/cache_vrt_var.c
index 9395c73..605f44f 100644
--- a/bin/varnishd/cache/cache_vrt_var.c
+++ b/bin/varnishd/cache/cache_vrt_var.c
@@ -279,7 +279,7 @@ VRT_r_req_backend_healthy(const struct req *req)
 	if (req->director == NULL)
 		return (0);
 	CHECK_OBJ_NOTNULL(req->director, DIRECTOR_MAGIC);
-	return (VDI_Healthy(req->director, req));
+	return (VDI_Healthy(req->director, req->digest));
 }
 
 /*--------------------------------------------------------------------*/
@@ -308,8 +308,7 @@ VRT_r_bereq_backend_healthy(const struct busyobj *bo)
 
 	CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
 	CHECK_OBJ_NOTNULL(bo->director, DIRECTOR_MAGIC);
-	//XXX return (VDI_Healthy(bo->director, req));
-	return (0);
+	return (VDI_Healthy(bo->director, bo->digest));
 }
 
 /*--------------------------------------------------------------------*/



More information about the varnish-commit mailing list