[master] 1417f9d Make bans depend on OC_F_PRIVATE

Poul-Henning Kamp phk at varnish-cache.org
Tue Sep 3 10:25:47 CEST 2013


commit 1417f9d0656d1e29a5d3339fa3ad64237986992a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Sep 3 08:25:38 2013 +0000

    Make bans depend on OC_F_PRIVATE

diff --git a/bin/varnishd/cache/cache_hash.c b/bin/varnishd/cache/cache_hash.c
index 9abe891..6fd51f6 100644
--- a/bin/varnishd/cache/cache_hash.c
+++ b/bin/varnishd/cache/cache_hash.c
@@ -655,7 +655,10 @@ HSH_Unbusy(struct dstat *ds, struct objcore *oc)
 	CHECK_OBJ(oh, OBJHEAD_MAGIC);
 
 	AN(oc->flags & OC_F_BUSY);
-	AN(oc->ban);
+	if (oc->flags & OC_F_PRIVATE)
+		AZ(oc->ban);
+	else
+		AN(oc->ban);
 	assert(oh->refcnt > 0);
 
 	/* XXX: pretouch neighbors on oh->objcs to prevent page-on under mtx */
diff --git a/bin/varnishd/storage/stevedore.c b/bin/varnishd/storage/stevedore.c
index 407470e..af14533 100644
--- a/bin/varnishd/storage/stevedore.c
+++ b/bin/varnishd/storage/stevedore.c
@@ -289,7 +289,7 @@ STV_MkObject(struct stevedore *stv, struct busyobj *bo,
 
 	o->objcore = bo->fetch_objcore;
 	bo->fetch_objcore = NULL;     /* refcnt follows pointer. */
-	if (o->objcore->objhead != NULL)
+	if (!(o->objcore->flags & OC_F_PRIVATE))
 		BAN_NewObjCore(o->objcore);
 
 	o->objcore->methods = &default_oc_methods;



More information about the varnish-commit mailing list