[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