r5579 - trunk/varnish-cache/bin/varnishd
phk at varnish-cache.org
phk at varnish-cache.org
Mon Nov 22 10:08:29 CET 2010
Author: phk
Date: 2010-11-22 10:08:28 +0100 (Mon, 22 Nov 2010)
New Revision: 5579
Modified:
trunk/varnish-cache/bin/varnishd/cache_expire.c
trunk/varnish-cache/bin/varnishd/cache_hash.c
trunk/varnish-cache/bin/varnishd/hash_slinger.h
trunk/varnish-cache/bin/varnishd/stevedore.c
trunk/varnish-cache/bin/varnishd/stevedore.h
trunk/varnish-cache/bin/varnishd/storage_synth.c
Log:
All objects have an objstore now, remove conditions that no longer apply.
Move HSH_Freestore() to STV_Freestore(), it's a better fit.
Modified: trunk/varnish-cache/bin/varnishd/cache_expire.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_expire.c 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/cache_expire.c 2010-11-22 09:08:28 UTC (rev 5579)
@@ -138,12 +138,10 @@
(void)update_object_when(o);
binheap_insert(exp_heap, oc);
assert(oc->timer_idx != BINHEAP_NOIDX);
- if (o->objstore != NULL) {
- lru = STV_lru(o->objstore);
- CHECK_OBJ_NOTNULL(lru, LRU_MAGIC);
- VLIST_INSERT_BEFORE(&lru->senteniel, oc, lru_list);
- oc->flags |= OC_F_ONLRU;
- }
+ lru = STV_lru(o->objstore);
+ CHECK_OBJ_NOTNULL(lru, LRU_MAGIC);
+ VLIST_INSERT_BEFORE(&lru->senteniel, oc, lru_list);
+ oc->flags |= OC_F_ONLRU;
Lck_Unlock(&exp_mtx);
oc_updatemeta(oc);
}
@@ -168,8 +166,6 @@
if (oc == NULL)
return (0);
CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
- /* We must have an objhead, otherwise we have no business on a LRU */
- CHECK_OBJ_NOTNULL(oc->objhead, OBJHEAD_MAGIC);
/*
* For -spersistent we don't move objects on the lru list. Each
@@ -181,8 +177,6 @@
if (oc->flags & OC_F_LRUDONTMOVE)
return (0);
- if (o->objstore == NULL) /* XXX ?? */
- return (0);
lru = STV_lru(o->objstore);
CHECK_OBJ_NOTNULL(lru, LRU_MAGIC);
retval = 0;
Modified: trunk/varnish-cache/bin/varnishd/cache_hash.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/cache_hash.c 2010-11-22 09:08:28 UTC (rev 5579)
@@ -147,18 +147,6 @@
}
void
-HSH_Freestore(struct object *o)
-{
- struct storage *st, *stn;
-
- VTAILQ_FOREACH_SAFE(st, &o->store, list, stn) {
- CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
- VTAILQ_REMOVE(&o->store, st, list);
- STV_free(st);
- }
-}
-
-void
HSH_AddString(const struct sess *sp, const char *str)
{
int l;
Modified: trunk/varnish-cache/bin/varnishd/hash_slinger.h
===================================================================
--- trunk/varnish-cache/bin/varnishd/hash_slinger.h 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/hash_slinger.h 2010-11-22 09:08:28 UTC (rev 5579)
@@ -52,7 +52,6 @@
/* cache_hash.c */
void HSH_Prealloc(const struct sess *sp);
void HSH_Cleanup(struct worker *w);
-void HSH_Freestore(struct object *o);
struct objcore *HSH_Lookup(struct sess *sp, struct objhead **poh);
void HSH_Unbusy(const struct sess *sp);
void HSH_Ref(struct objcore *o);
Modified: trunk/varnish-cache/bin/varnishd/stevedore.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/stevedore.c 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/stevedore.c 2010-11-22 09:08:28 UTC (rev 5579)
@@ -112,10 +112,8 @@
*/
if (sp->obj != NULL) {
CHECK_OBJ_NOTNULL(sp->obj, OBJECT_MAGIC);
- if (sp->obj->objstore != NULL) {
- stv = sp->obj->objstore->stevedore;
- CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
- }
+ stv = sp->obj->objstore->stevedore;
+ CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
}
for (;;) {
@@ -266,9 +264,24 @@
AN(stv->allocobj);
o = stv->allocobj(stv, sp, ltot, &soc);
CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
+ CHECK_OBJ_NOTNULL(o->objstore, STORAGE_MAGIC);
return (o);
}
+/*-------------------------------------------------------------------*/
+
+void
+STV_Freestore(struct object *o)
+{
+ struct storage *st, *stn;
+
+ VTAILQ_FOREACH_SAFE(st, &o->store, list, stn) {
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
+ VTAILQ_REMOVE(&o->store, st, list);
+ STV_free(st);
+ }
+}
+
/*---------------------------------------------------------------------
* Default objcore methods
*/
@@ -293,11 +306,8 @@
CAST_OBJ_NOTNULL(o, oc->priv, OBJECT_MAGIC);
oc->priv = NULL;
- HSH_Freestore(o);
- if (o->objstore != NULL)
- STV_free(o->objstore);
- else
- FREE_OBJ(o);
+ STV_Freestore(o);
+ STV_free(o->objstore);
}
struct objcore_methods default_oc_methods = {
Modified: trunk/varnish-cache/bin/varnishd/stevedore.h
===================================================================
--- trunk/varnish-cache/bin/varnishd/stevedore.h 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/stevedore.h 2010-11-22 09:08:28 UTC (rev 5579)
@@ -81,6 +81,7 @@
struct lru *STV_lru(const struct storage *st);
void STV_Config(const char *spec);
void STV_Config_Transient(void);
+void STV_Freestore(struct object *o);
struct lru *LRU_Alloc(void);
Modified: trunk/varnish-cache/bin/varnishd/storage_synth.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/storage_synth.c 2010-11-22 08:51:03 UTC (rev 5578)
+++ trunk/varnish-cache/bin/varnishd/storage_synth.c 2010-11-22 09:08:28 UTC (rev 5579)
@@ -79,7 +79,7 @@
struct vsb *vsb;
CHECK_OBJ_NOTNULL(obj, OBJECT_MAGIC);
- HSH_Freestore(obj);
+ STV_Freestore(obj);
obj->len = 0;
Lck_Lock(&sms_mtx);
More information about the varnish-commit
mailing list