]> err.no Git - varnish/commitdiff
Add a stevedore for synthetic pages.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 25 Jul 2008 15:27:04 +0000 (15:27 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 25 Jul 2008 15:27:04 +0000 (15:27 +0000)
The storage from this stevedore is backed by an autoextending vsb, which
can be used to generate synthetic pages into.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3025 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/Makefile.am
varnish-cache/bin/varnishd/cache_main.c
varnish-cache/bin/varnishd/stevedore.c
varnish-cache/bin/varnishd/stevedore.h
varnish-cache/bin/varnishd/storage_file.c
varnish-cache/bin/varnishd/storage_malloc.c

index 93524f4f91bcf59fdb954b6eb7f090b7821dcc54..ebf01107288f3641965f46235d462cf024b9d029 100644 (file)
@@ -51,6 +51,7 @@ varnishd_SOURCES = \
        stevedore.c \
        storage_file.c \
        storage_malloc.c \
+       storage_synth.c \
        tcp.c \
        varnishd.c
 
index 4c093a12bb5b140760615d2c41433be3f48b1a4e..6e9ea68df406a5e6b9b662cb988ebc6345cf84b5 100644 (file)
@@ -121,6 +121,7 @@ child_main(void)
 
        VCA_Init();
 
+       SMS_Init();
        STV_open();
 
        VSL_stats->start_time = (time_t)TIM_real();
index 81971c4c297669324a71fc1e3c6c8c92b6e77725..2e206857114f4a85de4b06e7a8329e024fceab47 100644 (file)
@@ -83,7 +83,7 @@ STV_trim(const struct storage *st, size_t size)
 }
 
 void
-STV_free(const struct storage *st)
+STV_free(struct storage *st)
 {
 
        CHECK_OBJ_NOTNULL(st, STORAGE_MAGIC);
index 7f5df8efa2a6124bb5791ce5015e4d3e633cf576..c8d2905ac7a3292c2420a0e78824451b9bdf2efc 100644 (file)
@@ -39,7 +39,7 @@ typedef void storage_init_f(struct stevedore *, int ac, char * const *av);
 typedef void storage_open_f(const struct stevedore *);
 typedef struct storage *storage_alloc_f(struct stevedore *, size_t size);
 typedef void storage_trim_f(const struct storage *, size_t size);
-typedef void storage_free_f(const struct storage *);
+typedef void storage_free_f(struct storage *);
 
 struct stevedore {
        unsigned                magic;
@@ -59,6 +59,9 @@ struct stevedore {
 
 struct storage *STV_alloc(struct sess *sp, size_t size);
 void STV_trim(const struct storage *st, size_t size);
-void STV_free(const struct storage *st);
+void STV_free(struct storage *st);
 void STV_add(const struct stevedore *stv, int ac, char * const *av);
 void STV_open(void);
+
+/* Synthetic Storage */
+void SMS_Init(void);
index f244156d9356a837bbfd416171673e9a6251f7f7..021c4785c260a0b6a10b4894d6fd3b23897bcb85 100644 (file)
@@ -681,7 +681,7 @@ smf_trim(const struct storage *s, size_t size)
 /*--------------------------------------------------------------------*/
 
 static void
-smf_free(const struct storage *s)
+smf_free(struct storage *s)
 {
        struct smf *smf;
        struct smf_sc *sc;
index 75e6d9148242772b0a8a1a7fdb8b09aeee71e4e0..bee45c79e08554e9fcb20f3ee35020ffe781fd2c 100644 (file)
@@ -86,7 +86,7 @@ sma_alloc(struct stevedore *st, size_t size)
 }
 
 static void
-sma_free(const struct storage *s)
+sma_free(struct storage *s)
 {
        struct sma *sma;