[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