[master] ea95f53 STV_{alloc|free|trim}() are only used from SML.
Poul-Henning Kamp
phk at FreeBSD.org
Wed Dec 16 09:24:31 CET 2015
commit ea95f53ae78a44f236145ac2bafebd385d49a9d1
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Dec 16 08:24:03 2015 +0000
STV_{alloc|free|trim}() are only used from SML.
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 195c5f8..ffdbcbb 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -1042,10 +1042,6 @@ void RFC2616_Vary_AE(struct http *hp);
/* stevedore.c */
int STV_NewObject(struct worker *, struct objcore *,
const char *hint, unsigned len);
-struct storage *STV_alloc(const struct stevedore *, size_t size);
-void STV_trim(const struct stevedore *, struct storage *, size_t size,
- int move_ok);
-void STV_free(const struct stevedore *, struct storage *st);
void STV_open(void);
void STV_close(void);
int STV_BanInfo(enum baninfo event, const uint8_t *ban, unsigned len);
diff --git a/bin/varnishd/storage/stevedore.c b/bin/varnishd/storage/stevedore.c
index e761f89..fa2d56c 100644
--- a/bin/varnishd/storage/stevedore.c
+++ b/bin/varnishd/storage/stevedore.c
@@ -101,35 +101,6 @@ stv_pick_stevedore(struct vsl_log *vsl, const char **hint)
return (stv);
}
-/*-------------------------------------------------------------------*/
-
-struct storage *
-STV_alloc(const struct stevedore *stv, size_t size)
-{
- struct storage *st;
-
- CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
-
- if (size > cache_param->fetch_maxchunksize)
- size = cache_param->fetch_maxchunksize;
-
- assert(size <= UINT_MAX); /* field limit in struct storage */
-
- for (;;) {
- /* try to allocate from it */
- AN(stv->alloc);
- st = stv->alloc(stv, size);
- if (st != NULL)
- break;
-
- if (size <= cache_param->fetch_chunksize)
- break;
-
- size >>= 1;
- }
- CHECK_OBJ_ORNULL(st, STORAGE_MAGIC);
- return (st);
-}
/*-------------------------------------------------------------------
* Allocate storage for an object, based on the header information.
@@ -175,27 +146,6 @@ STV_NewObject(struct worker *wrk, struct objcore *oc,
/*-------------------------------------------------------------------*/
void
-STV_trim(const struct stevedore *stv, struct storage *st, size_t size,
- int move_ok)
-{
-
- CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
- CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
- if (stv->trim)
- stv->trim(st, size, move_ok);
-}
-
-void
-STV_free(const struct stevedore *stv, struct storage *st)
-{
-
- CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
- CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
- AN(stv->free);
- stv->free(st);
-}
-
-void
STV_open(void)
{
struct stevedore *stv;
diff --git a/bin/varnishd/storage/storage.h b/bin/varnishd/storage/storage.h
index 297b583..0793b4e 100644
--- a/bin/varnishd/storage/storage.h
+++ b/bin/varnishd/storage/storage.h
@@ -86,9 +86,9 @@ struct stevedore {
unsigned transient;
storage_init_f *init; /* called by mgt process */
storage_open_f *open; /* called by cache process */
- storage_alloc_f *alloc; /* --//-- */
- storage_trim_f *trim; /* --//-- */
- storage_free_f *free; /* --//-- */
+ storage_alloc_f *alloc; /* --//-- only if SML */
+ storage_trim_f *trim; /* --//-- only if SML */
+ storage_free_f *free; /* --//-- only if SML */
storage_close_f *close; /* --//-- */
storage_allocobj_f *allocobj; /* --//-- */
storage_signal_close_f *signal_close; /* --//-- */
diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index 0092d0e..e79f86b 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -39,6 +39,57 @@
#include "storage/storage.h"
#include "storage/storage_simple.h"
+/*-------------------------------------------------------------------*/
+
+static struct storage *
+sml_stv_alloc(const struct stevedore *stv, size_t size)
+{
+ struct storage *st;
+
+ CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
+
+ if (size > cache_param->fetch_maxchunksize)
+ size = cache_param->fetch_maxchunksize;
+
+ assert(size <= UINT_MAX); /* field limit in struct storage */
+
+ for (;;) {
+ /* try to allocate from it */
+ AN(stv->alloc);
+ st = stv->alloc(stv, size);
+ if (st != NULL)
+ break;
+
+ if (size <= cache_param->fetch_chunksize)
+ break;
+
+ size >>= 1;
+ }
+ CHECK_OBJ_ORNULL(st, STORAGE_MAGIC);
+ return (st);
+}
+
+static void
+sml_stv_free(const struct stevedore *stv, struct storage *st)
+{
+
+ CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
+ AN(stv->free);
+ stv->free(st);
+}
+
+static void
+sml_stv_trim(const struct stevedore *stv, struct storage *st, size_t size,
+ int move_ok)
+{
+
+ CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
+ CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
+ if (stv->trim)
+ stv->trim(st, size, move_ok);
+}
+
/*--------------------------------------------------------------------
* This function is called by stevedores ->allocobj() method, which
* very often will be SML_allocobj() below, to convert a slab
@@ -142,7 +193,7 @@ sml_objfree(struct worker *wrk, struct objcore *oc)
CAST_OBJ_NOTNULL(o, oc->stobj->priv, OBJECT_MAGIC);
o->magic = 0;
- STV_free(oc->stobj->stevedore, o->objstore);
+ sml_stv_free(oc->stobj->stevedore, o->objstore);
memset(oc->stobj, 0, sizeof oc->stobj);
@@ -269,7 +320,7 @@ objallocwithnuke(struct worker *wrk, const struct stevedore *stv, size_t size)
for (fail = 0; fail <= cache_param->nuke_limit; fail++) {
/* try to allocate from it */
AN(stv->alloc);
- st = STV_alloc(stv, size);
+ st = sml_stv_alloc(stv, size);
if (st != NULL)
break;
@@ -372,9 +423,9 @@ sml_trimstore(struct worker *wrk, struct objcore *oc)
return;
if (st->len == 0) {
VTAILQ_REMOVE(&o->list, st, list);
- STV_free(stv, st);
+ sml_stv_free(stv, st);
} else if (st->len < st->space) {
- STV_trim(stv, st, st->len, 1);
+ sml_stv_trim(stv, st, st->len, 1);
}
}
@@ -393,13 +444,13 @@ sml_slim(struct worker *wrk, struct objcore *oc)
CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
if (o->esidata != NULL) {
- STV_free(stv, o->esidata);
+ sml_stv_free(stv, o->esidata);
o->esidata = NULL;
}
VTAILQ_FOREACH_SAFE(st, &o->list, list, stn) {
CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
VTAILQ_REMOVE(&o->list, st, list);
- STV_free(stv, st);
+ sml_stv_free(stv, st);
}
}
More information about the varnish-commit
mailing list