Commit 68a7885b authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Introduce a -storage spec, and default it -sfile,<workdir>,10m to aovid

mapping more VM than a 32bit machine can cope with, if /tmp is huge.



git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@4750 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 4e443079
...@@ -9,7 +9,7 @@ server s1 { ...@@ -9,7 +9,7 @@ server s1 {
txresp -body "012345\n" txresp -body "012345\n"
} -start } -start
varnish v1 -arg "-smalloc,1m" -vcl+backend {} -start varnish v1 -storage "-smalloc,1m" -vcl+backend {} -start
varnish v1 -cliok "param.set diag_bitmap 0x2" varnish v1 -cliok "param.set diag_bitmap 0x2"
......
...@@ -11,7 +11,8 @@ shell "rm -f ${tmpdir}/_.per" ...@@ -11,7 +11,8 @@ shell "rm -f ${tmpdir}/_.per"
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x20000" \ -arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" -vcl+backend { } -start -storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
varnish v1 -stop varnish v1 -stop
......
...@@ -12,7 +12,8 @@ server s1 { ...@@ -12,7 +12,8 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x20000" \ -arg "-pdiag_bitmap=0x20000" \
-arg "-pban_lurker_sleep=0" \ -arg "-pban_lurker_sleep=0" \
-arg "-spersistent,${tmpdir}/_.per,10m" -vcl+backend { } -start -storage "-spersistent,${tmpdir}/_.per,10m" \
-vcl+backend { } -start
client c1 { client c1 {
txreq -url "/" txreq -url "/"
......
...@@ -11,8 +11,8 @@ server s1 { ...@@ -11,8 +11,8 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x20000" \ -arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per1,10m" \ -storage "-spersistent,${tmpdir}/_.per1,10m" \
-arg "-spersistent,${tmpdir}/_.per2,10m" \ -storage "-spersistent,${tmpdir}/_.per2,10m" \
-vcl+backend { } -start -vcl+backend { } -start
client c1 { client c1 {
......
...@@ -11,7 +11,7 @@ server s1 { ...@@ -11,7 +11,7 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x20000" \ -arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \ -storage "-spersistent,${tmpdir}/_.per,10m" \
-arg "-pban_lurker_sleep=0" \ -arg "-pban_lurker_sleep=0" \
-vcl+backend { } -start -vcl+backend { } -start
......
...@@ -13,7 +13,7 @@ server s1 { ...@@ -13,7 +13,7 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x20000" \ -arg "-pdiag_bitmap=0x20000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \ -storage "-spersistent,${tmpdir}/_.per,10m" \
-arg "-pban_lurker_sleep=0" \ -arg "-pban_lurker_sleep=0" \
-vcl+backend { } -start -vcl+backend { } -start
......
...@@ -11,7 +11,7 @@ server s1 { ...@@ -11,7 +11,7 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-pdiag_bitmap=0x30000" \ -arg "-pdiag_bitmap=0x30000" \
-arg "-spersistent,${tmpdir}/_.per,10m" \ -storage "-spersistent,${tmpdir}/_.per,10m" \
-arg "-pban_lurker_sleep=0" \ -arg "-pban_lurker_sleep=0" \
-vcl+backend { -vcl+backend {
sub vcl_fetch { sub vcl_fetch {
......
...@@ -13,7 +13,7 @@ server s1 { ...@@ -13,7 +13,7 @@ server s1 {
varnish v1 \ varnish v1 \
-arg "-spersistent,${tmpdir}/_.per,10m" \ -storage "-spersistent,${tmpdir}/_.per,10m" \
-arg "-pban_lurker_sleep=0" \ -arg "-pban_lurker_sleep=0" \
-vcl+backend { } -start -vcl+backend { } -start
......
...@@ -13,7 +13,7 @@ server s1 { ...@@ -13,7 +13,7 @@ server s1 {
txresp -hdr "Foo: foo" -body "abcdef\n" txresp -hdr "Foo: foo" -body "abcdef\n"
} -start } -start
varnish v1 -arg "-smalloc,1m" -vcl+backend { varnish v1 -storage "-smalloc,1m" -vcl+backend {
sub vcl_fetch { sub vcl_fetch {
if (beresp.http.panic) { if (beresp.http.panic) {
......
...@@ -33,6 +33,7 @@ SVNID("$Id$") ...@@ -33,6 +33,7 @@ SVNID("$Id$")
#include <stdio.h> #include <stdio.h>
#include <limits.h>
#include <ctype.h> #include <ctype.h>
#include <fcntl.h> #include <fcntl.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -68,6 +69,8 @@ struct varnish { ...@@ -68,6 +69,8 @@ struct varnish {
struct varnish_stats *stats; struct varnish_stats *stats;
struct vsb *storage;
struct vsb *args; struct vsb *args;
int fds[4]; int fds[4];
pid_t pid; pid_t pid;
...@@ -171,9 +174,15 @@ varnish_new(const char *name) ...@@ -171,9 +174,15 @@ varnish_new(const char *name)
vtc_log(v->vl, 0, "Varnish name must start with 'v'"); vtc_log(v->vl, 0, "Varnish name must start with 'v'");
v->args = vsb_newauto(); v->args = vsb_newauto();
v->storage = vsb_newauto();
vsb_printf(v->storage, "-sfile,%s,10M", v->workdir);
vsb_finish(v->storage);
v->cli_fd = -1; v->cli_fd = -1;
VTAILQ_INSERT_TAIL(&varnishes, v, list); VTAILQ_INSERT_TAIL(&varnishes, v, list);
return (v); return (v);
} }
...@@ -269,6 +278,7 @@ varnish_launch(struct varnish *v) ...@@ -269,6 +278,7 @@ varnish_launch(struct varnish *v)
vsb_printf(vsb, " -S %s/_S", v->workdir); vsb_printf(vsb, " -S %s/_S", v->workdir);
vsb_printf(vsb, " -M %s:%s", abuf, pbuf); vsb_printf(vsb, " -M %s:%s", abuf, pbuf);
vsb_printf(vsb, " -P %s/varnishd.pid", v->workdir); vsb_printf(vsb, " -P %s/varnishd.pid", v->workdir);
vsb_printf(vsb, " %s", vsb_data(v->storage));
vsb_printf(vsb, " %s", vsb_data(v->args)); vsb_printf(vsb, " %s", vsb_data(v->args));
vsb_finish(vsb); vsb_finish(vsb);
AZ(vsb_overflowed(vsb)); AZ(vsb_overflowed(vsb));
...@@ -665,6 +675,13 @@ cmd_varnish(CMD_ARGS) ...@@ -665,6 +675,13 @@ cmd_varnish(CMD_ARGS)
for (; *av != NULL; av++) { for (; *av != NULL; av++) {
if (vtc_error) if (vtc_error)
break; break;
if (!strcmp(*av, "-storage")) {
vsb_clear(v->storage);
vsb_cat(v->storage, av[1]);
vsb_finish(v->storage);
av++;
continue;
}
if (!strcmp(*av, "-arg")) { if (!strcmp(*av, "-arg")) {
AN(av[1]); AN(av[1]);
AZ(v->pid); AZ(v->pid);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment