[experimental-ims] a03c58d Pass priv2 member instead of objcore pointer, thats all we need.
Geoff Simmons
geoff at varnish-cache.org
Fri Jul 8 11:47:38 CEST 2011
commit a03c58d40ecf4b656a2e41f5865b24b277c23505
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon Jun 20 07:38:19 2011 +0000
Pass priv2 member instead of objcore pointer, thats all we need.
diff --git a/bin/varnishd/storage_persistent_silo.c b/bin/varnishd/storage_persistent_silo.c
index d4ccf1e..a1eb98b 100644
--- a/bin/varnishd/storage_persistent_silo.c
+++ b/bin/varnishd/storage_persistent_silo.c
@@ -308,15 +308,13 @@ smp_close_seg(struct smp_sc *sc, struct smp_seg *sg)
*/
static struct smp_object *
-smp_find_so(const struct smp_seg *sg, const struct objcore *oc)
+smp_find_so(const struct smp_seg *sg, unsigned priv2)
{
struct smp_object *so;
- unsigned smp_idx;
- smp_idx = oc->priv2;
- assert(smp_idx > 0);
- assert(smp_idx <= sg->p.lobjlist);
- so = &sg->objs[sg->p.lobjlist - smp_idx];
+ assert(priv2 > 0);
+ assert(priv2 <= sg->p.lobjlist);
+ so = &sg->objs[sg->p.lobjlist - priv2];
return (so);
}
@@ -390,7 +388,7 @@ smp_oc_getobj(struct worker *wrk, struct objcore *oc)
AZ(oc->flags & OC_F_NEEDFIXUP);
CAST_OBJ_NOTNULL(sg, oc->priv, SMP_SEG_MAGIC);
- so = smp_find_so(sg, oc);
+ so = smp_find_so(sg, oc->priv2);
o = (void*)(sg->sc->base + so->ptr);
/*
@@ -456,7 +454,7 @@ smp_oc_updatemeta(struct objcore *oc)
CAST_OBJ_NOTNULL(sg, oc->priv, SMP_SEG_MAGIC);
CHECK_OBJ_NOTNULL(sg->sc, SMP_SC_MAGIC);
- so = smp_find_so(sg, oc);
+ so = smp_find_so(sg, oc->priv2);
mttl = EXP_Grace(NULL, o);
@@ -481,7 +479,7 @@ smp_oc_freeobj(struct objcore *oc)
CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
CAST_OBJ_NOTNULL(sg, oc->priv, SMP_SEG_MAGIC);
- so = smp_find_so(sg, oc);
+ so = smp_find_so(sg, oc->priv2);
Lck_Lock(&sg->sc->mtx);
so->ttl = 0;
More information about the varnish-commit
mailing list