[master] 80459a2 Clean up stuff that were needed for ws_o

Poul-Henning Kamp phk at FreeBSD.org
Mon Sep 15 12:48:45 CEST 2014


commit 80459a2c56b30356f6471dfc12d09734701fe6be
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Sep 15 10:48:24 2014 +0000

    Clean up stuff that were needed for ws_o

diff --git a/bin/varnishd/storage/stevedore.c b/bin/varnishd/storage/stevedore.c
index 7e4cea4..fa84d56 100644
--- a/bin/varnishd/storage/stevedore.c
+++ b/bin/varnishd/storage/stevedore.c
@@ -180,17 +180,6 @@ STV_alloc(struct stevedore *stv, size_t size)
 	return (st);
 }
 
-/*-------------------------------------------------------------------*
- * Structure used to transport internal knowledge from STV_NewObject()
- * to STV_MkObject().  Nobody else should mess with this struct.
- */
-
-struct stv_objsecrets {
-	unsigned	magic;
-#define STV_OBJ_SECRETES_MAGIC	0x78c87247
-	unsigned	wsl;
-};
-
 /*--------------------------------------------------------------------
  * This function is called by stevedores ->allocobj() method, which
  * very often will be stv_default_allocobj() below, to convert a slab
@@ -200,29 +189,20 @@ struct stv_objsecrets {
  */
 
 struct object *
-STV_MkObject(struct stevedore *stv, struct busyobj *bo,
-    void *ptr, unsigned ltot, const struct stv_objsecrets *soc)
+STV_MkObject(struct stevedore *stv, struct busyobj *bo, void *ptr)
 {
 	struct object *o;
-	unsigned l;
 
 	CHECK_OBJ_NOTNULL(stv, STEVEDORE_MAGIC);
 	CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
-	CHECK_OBJ_NOTNULL(soc, STV_OBJ_SECRETES_MAGIC);
 	CHECK_OBJ_NOTNULL(bo->fetch_objcore, OBJCORE_MAGIC);
 
 	assert(PAOK(ptr));
-	assert(PAOK(soc->wsl));
-
-	assert(ltot >= sizeof *o + soc->wsl);
 
 	o = ptr;
 	memset(o, 0, sizeof *o);
 	o->magic = OBJECT_MAGIC;
 
-	l = PRNDDN(ltot - sizeof *o);
-	assert(l >= soc->wsl);
-
 	VTAILQ_INIT(&o->body->list);
 
 	bo->fetch_objcore->stobj->magic = STOREOBJ_MAGIC;
@@ -241,13 +221,11 @@ STV_MkObject(struct stevedore *stv, struct busyobj *bo,
  */
 
 struct object *
-stv_default_allocobj(struct stevedore *stv, struct busyobj *bo,
-    unsigned ltot, const struct stv_objsecrets *soc)
+stv_default_allocobj(struct stevedore *stv, struct busyobj *bo, unsigned ltot)
 {
 	struct object *o;
 	struct storage *st;
 
-	CHECK_OBJ_NOTNULL(soc, STV_OBJ_SECRETES_MAGIC);
 	CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
 	st = stv->alloc(stv, ltot);
 	if (st == NULL)
@@ -256,8 +234,7 @@ stv_default_allocobj(struct stevedore *stv, struct busyobj *bo,
 		stv->free(st);
 		return (NULL);
 	}
-	ltot = st->space;
-	o = STV_MkObject(stv, bo, st->ptr, ltot, soc);
+	o = STV_MkObject(stv, bo, st->ptr);
 	CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
 	st->len = sizeof(*o);
 	o->objstore = st;
@@ -277,7 +254,6 @@ STV_NewObject(struct busyobj *bo, const char *hint, unsigned wsl)
 	struct object *o;
 	struct stevedore *stv, *stv0;
 	unsigned ltot;
-	struct stv_objsecrets soc;
 	int i;
 
 	CHECK_OBJ_NOTNULL(bo, BUSYOBJ_MAGIC);
@@ -285,20 +261,16 @@ STV_NewObject(struct busyobj *bo, const char *hint, unsigned wsl)
 	assert(wsl > 0);
 	wsl = PRNDUP(wsl);
 
-	memset(&soc, 0, sizeof soc);
-	soc.magic = STV_OBJ_SECRETES_MAGIC;
-	soc.wsl = wsl;
-
 	ltot = sizeof *o + wsl;
 
 	stv = stv0 = stv_pick_stevedore(bo->vsl, &hint);
 	AN(stv->allocobj);
-	o = stv->allocobj(stv, bo, ltot, &soc);
+	o = stv->allocobj(stv, bo, ltot);
 	if (o == NULL && hint == NULL) {
 		do {
 			stv = stv_pick_stevedore(bo->vsl, &hint);
 			AN(stv->allocobj);
-			o = stv->allocobj(stv, bo, ltot, &soc);
+			o = stv->allocobj(stv, bo, ltot);
 		} while (o == NULL && stv != stv0);
 	}
 	if (o == NULL) {
@@ -306,7 +278,7 @@ STV_NewObject(struct busyobj *bo, const char *hint, unsigned wsl)
 		for (i = 0; o == NULL && i < cache_param->nuke_limit; i++) {
 			if (EXP_NukeOne(bo->vsl, bo->stats, stv->lru) == -1)
 				break;
-			o = stv->allocobj(stv, bo, ltot, &soc);
+			o = stv->allocobj(stv, bo, ltot);
 		}
 	}
 
diff --git a/bin/varnishd/storage/storage.h b/bin/varnishd/storage/storage.h
index 5dda954..95d8eae 100644
--- a/bin/varnishd/storage/storage.h
+++ b/bin/varnishd/storage/storage.h
@@ -62,7 +62,7 @@ typedef struct storage *storage_alloc_f(struct stevedore *, size_t size);
 typedef void storage_trim_f(struct storage *, size_t size, int move_ok);
 typedef void storage_free_f(struct storage *);
 typedef struct object *storage_allocobj_f(struct stevedore *, struct busyobj *,
-    unsigned ltot, const struct stv_objsecrets *);
+    unsigned ltot);
 typedef void storage_close_f(const struct stevedore *);
 typedef void storage_signal_close_f(const struct stevedore *);
 typedef int storage_baninfo_f(const struct stevedore *, enum baninfo event,
@@ -123,7 +123,7 @@ int STV_GetFile(const char *fn, int *fdp, const char **fnp, const char *ctx);
 uintmax_t STV_FileSize(int fd, const char *size, unsigned *granularity,
     const char *ctx);
 struct object *STV_MkObject(struct stevedore *stv, struct busyobj *bo,
-    void *ptr, unsigned ltot, const struct stv_objsecrets *soc);
+    void *ptr);
 
 struct lru *LRU_Alloc(void);
 void LRU_Free(struct lru *lru);
diff --git a/bin/varnishd/storage/storage_persistent.c b/bin/varnishd/storage/storage_persistent.c
index 3e54208..f85dc12 100644
--- a/bin/varnishd/storage/storage_persistent.c
+++ b/bin/varnishd/storage/storage_persistent.c
@@ -505,8 +505,7 @@ smp_allocx(struct stevedore *st, size_t min_size, size_t max_size,
  */
 
 static struct object *
-smp_allocobj(struct stevedore *stv, struct busyobj *bo,
-    unsigned ltot, const struct stv_objsecrets *soc)
+smp_allocobj(struct stevedore *stv, struct busyobj *bo, unsigned ltot)
 {
 	struct object *o;
 	struct storage *st;
@@ -532,9 +531,8 @@ smp_allocobj(struct stevedore *stv, struct busyobj *bo,
 		return (NULL);
 
 	assert(st->space >= ltot);
-	ltot = st->space;
 
-	o = STV_MkObject(stv, bo, st->ptr, ltot, soc);
+	o = STV_MkObject(stv, bo, st->ptr);
 	AN(bo->fetch_objcore->stobj->stevedore);
 	assert(bo->fetch_objcore->stobj->stevedore == stv);
 	CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);



More information about the varnish-commit mailing list