[master] 9f9c512 Fold include/persistent.h into storage/storage_persistent.h now that it clearly isn't going to be a much used public interface.

Poul-Henning Kamp phk at FreeBSD.org
Thu Jun 26 09:26:41 CEST 2014


commit 9f9c512751a8ae747a90b6ee4428ad963b1f4fce
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Thu Jun 26 07:25:24 2014 +0000

    Fold include/persistent.h into storage/storage_persistent.h now that it
    clearly isn't going to be a much used public interface.

diff --git a/bin/varnishd/storage/storage_persistent.c b/bin/varnishd/storage/storage_persistent.c
index 6633799..694d7fe 100644
--- a/bin/varnishd/storage/storage_persistent.c
+++ b/bin/varnishd/storage/storage_persistent.c
@@ -52,7 +52,6 @@
 #include "vsha256.h"
 #include "vtim.h"
 
-#include "persistent.h"
 #include "storage/storage_persistent.h"
 
 /*--------------------------------------------------------------------*/
diff --git a/bin/varnishd/storage/storage_persistent.h b/bin/varnishd/storage/storage_persistent.h
index cb2efb3..729570e 100644
--- a/bin/varnishd/storage/storage_persistent.h
+++ b/bin/varnishd/storage/storage_persistent.h
@@ -33,6 +33,122 @@
  * XXX: Do we ever free the LRU-lists ?
  */
 
+/*
+ *
+ * Overall layout:
+ *
+ *	struct smp_ident;		Identification and geometry
+ *	sha256[...]			checksum of same
+ *
+ *	struct smp_sign;
+ *	banspace_1;			First ban-space
+ *	sha256[...]			checksum of same
+ *
+ *	struct smp_sign;
+ *	banspace_2;			Second ban-space
+ *	sha256[...]			checksum of same
+ *
+ *	struct smp_sign;
+ *	struct smp_segment_1[N];	First Segment table
+ *	sha256[...]			checksum of same
+ *
+ *	struct smp_sign;
+ *	struct smp_segment_2[N];	Second Segment table
+ *	sha256[...]			checksum of same
+ *
+ *	N segments {
+ *		struct smp_sign;
+ *		struct smp_object[M]	Objects in segment
+ *		sha256[...]		checksum of same
+ *		objspace
+ *	}
+ *
+ */
+
+/*
+ * The identblock is located in the first sector of the storage space.
+ * This is written once and not subsequently modified in normal operation.
+ * It is immediately followed by a SHA256sum of the structure, as stored.
+ */
+
+struct smp_ident {
+	char			ident[32];	/* Human readable ident
+						 * so people and programs
+						 * can tell what the file
+						 * or device contains.
+						 */
+
+	uint32_t		byte_order;	/* 0x12345678 */
+
+	uint32_t		size;		/* sizeof(struct smp_ident) */
+
+	uint32_t		major_version;
+
+	uint32_t		unique;
+
+	uint32_t		align;		/* alignment in silo */
+
+	uint32_t		granularity;	/* smallest ... in bytes */
+
+	uint64_t		mediasize;	/* ... in bytes */
+
+	uint64_t		stuff[6];	/* pointers to stuff */
+#define	SMP_BAN1_STUFF		0
+#define	SMP_BAN2_STUFF		1
+#define	SMP_SEG1_STUFF		2
+#define	SMP_SEG2_STUFF		3
+#define	SMP_SPC_STUFF		4
+#define	SMP_END_STUFF		5
+};
+
+/*
+ * The size of smp_ident should be fixed and constant across all platforms.
+ * We enforce that with the following #define and an assert in smp_init()
+ */
+#define SMP_IDENT_SIZE		112
+
+#define SMP_IDENT_STRING	"Varnish Persistent Storage Silo"
+
+/*
+ * This is used to sign various bits on the disk.
+ */
+
+struct smp_sign {
+	char			ident[8];
+	uint32_t		unique;
+	uint64_t		mapped;
+	/* The length field is the length of the signed data only
+	 * (does not include struct smp_sign) */
+	uint64_t		length;		/* NB: Must be last */
+};
+
+#define SMP_SIGN_SPACE		(sizeof(struct smp_sign) + SHA256_LEN)
+
+/*
+ * A segment pointer.
+ */
+
+struct smp_segptr {
+	uint64_t		offset;		/* rel to silo */
+	uint64_t		length;		/* rel to offset */
+	uint64_t		objlist;	/* rel to silo */
+	uint32_t		lobjlist;	/* len of objlist */
+};
+
+/*
+ * An object descriptor
+ *
+ * A positive ttl is obj.ttl with obj.grace being NAN
+ * A negative ttl is - (obj.ttl + obj.grace)
+ */
+
+struct smp_object {
+	uint8_t			hash[32];	/* really: DIGEST_LEN */
+	double			ttl;
+	double			ban;
+	uint64_t		ptr;		/* rel to silo */
+};
+
 #define ASSERT_SILO_THREAD(sc) \
     do {assert(pthread_equal(pthread_self(), (sc)->thread));} while (0)
 
diff --git a/bin/varnishd/storage/storage_persistent_mgt.c b/bin/varnishd/storage/storage_persistent_mgt.c
index c5b1dfd..f99a6ae 100644
--- a/bin/varnishd/storage/storage_persistent_mgt.c
+++ b/bin/varnishd/storage/storage_persistent_mgt.c
@@ -46,7 +46,6 @@
 
 #include "vsha256.h"
 
-#include "persistent.h"
 #include "storage/storage_persistent.h"
 
 #ifndef MAP_NOCORE
@@ -145,7 +144,7 @@ smp_mgt_init(struct stevedore *parent, int ac, char * const *av)
 	SIZOF(struct smp_object);
 #undef SIZOF
 
-	/* See comments in persistent.h */
+	/* See comments in storage_persistent.h */
 	assert(sizeof(struct smp_ident) == SMP_IDENT_SIZE);
 
 	/* Allocate softc */
diff --git a/bin/varnishd/storage/storage_persistent_silo.c b/bin/varnishd/storage/storage_persistent_silo.c
index f66cd52..ccd9991 100644
--- a/bin/varnishd/storage/storage_persistent_silo.c
+++ b/bin/varnishd/storage/storage_persistent_silo.c
@@ -45,7 +45,6 @@
 #include "vsha256.h"
 #include "vtim.h"
 
-#include "persistent.h"
 #include "storage/storage_persistent.h"
 
 /*--------------------------------------------------------------------
diff --git a/bin/varnishd/storage/storage_persistent_subr.c b/bin/varnishd/storage/storage_persistent_subr.c
index bfe6b40..50e36c2 100644
--- a/bin/varnishd/storage/storage_persistent_subr.c
+++ b/bin/varnishd/storage/storage_persistent_subr.c
@@ -46,7 +46,6 @@
 
 #include "vsha256.h"
 
-#include "persistent.h"
 #include "storage/storage_persistent.h"
 
 /*--------------------------------------------------------------------
diff --git a/include/Makefile.am b/include/Makefile.am
index 50fed78..2091ab5 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -44,7 +44,6 @@ nobase_noinst_HEADERS = \
 	compat/execinfo.h \
 	flopen.h \
 	libvcc.h \
-	persistent.h \
 	vcli_common.h \
 	vcli_priv.h \
 	vcli_serve.h \
diff --git a/include/persistent.h b/include/persistent.h
deleted file mode 100644
index f0cb7f5..0000000
--- a/include/persistent.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-
- * Copyright (c) 2008-2011 Varnish Software AS
- * All rights reserved.
- *
- * Author: Poul-Henning Kamp <phk at phk.freebsd.dk>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
-
-/*
- *
- * Overall layout:
- *
- *	struct smp_ident;		Identification and geometry
- *	sha256[...]			checksum of same
- *
- *	struct smp_sign;
- *	banspace_1;			First ban-space
- *	sha256[...]			checksum of same
- *
- *	struct smp_sign;
- *	banspace_2;			Second ban-space
- *	sha256[...]			checksum of same
- *
- *	struct smp_sign;
- *	struct smp_segment_1[N];	First Segment table
- *	sha256[...]			checksum of same
- *
- *	struct smp_sign;
- *	struct smp_segment_2[N];	Second Segment table
- *	sha256[...]			checksum of same
- *
- *	N segments {
- *		struct smp_sign;
- *		struct smp_object[M]	Objects in segment
- *		sha256[...]		checksum of same
- *		objspace
- *	}
- *
- */
-
-/*
- * The identblock is located in the first sector of the storage space.
- * This is written once and not subsequently modified in normal operation.
- * It is immediately followed by a SHA256sum of the structure, as stored.
- */
-
-struct smp_ident {
-	char			ident[32];	/* Human readable ident
-						 * so people and programs
-						 * can tell what the file
-						 * or device contains.
-						 */
-
-	uint32_t		byte_order;	/* 0x12345678 */
-
-	uint32_t		size;		/* sizeof(struct smp_ident) */
-
-	uint32_t		major_version;
-
-	uint32_t		unique;
-
-	uint32_t		align;		/* alignment in silo */
-
-	uint32_t		granularity;	/* smallest ... in bytes */
-
-	uint64_t		mediasize;	/* ... in bytes */
-
-	uint64_t		stuff[6];	/* pointers to stuff */
-#define	SMP_BAN1_STUFF		0
-#define	SMP_BAN2_STUFF		1
-#define	SMP_SEG1_STUFF		2
-#define	SMP_SEG2_STUFF		3
-#define	SMP_SPC_STUFF		4
-#define	SMP_END_STUFF		5
-};
-
-/*
- * The size of smp_ident should be fixed and constant across all platforms.
- * We enforce that with the following #define and an assert in smp_init()
- */
-#define SMP_IDENT_SIZE		112
-
-#define SMP_IDENT_STRING	"Varnish Persistent Storage Silo"
-
-/*
- * This is used to sign various bits on the disk.
- */
-
-struct smp_sign {
-	char			ident[8];
-	uint32_t		unique;
-	uint64_t		mapped;
-	/* The length field is the length of the signed data only
-	 * (does not include struct smp_sign) */
-	uint64_t		length;		/* NB: Must be last */
-};
-
-#define SMP_SIGN_SPACE		(sizeof(struct smp_sign) + SHA256_LEN)
-
-/*
- * A segment pointer.
- */
-
-struct smp_segptr {
-	uint64_t		offset;		/* rel to silo */
-	uint64_t		length;		/* rel to offset */
-	uint64_t		objlist;	/* rel to silo */
-	uint32_t		lobjlist;	/* len of objlist */
-};
-
-/*
- * An object descriptor
- *
- * A positive ttl is obj.ttl with obj.grace being NAN
- * A negative ttl is - (obj.ttl + obj.grace)
- */
-
-struct smp_object {
-	uint8_t			hash[32];	/* really: DIGEST_LEN */
-	double			ttl;
-	double			ban;
-	uint64_t		ptr;		/* rel to silo */
-};



More information about the varnish-commit mailing list