r2988 - trunk/varnish-cache/bin/varnishd
petter at projects.linpro.no
petter at projects.linpro.no
Tue Jul 22 11:42:07 CEST 2008
Author: petter
Date: 2008-07-22 11:42:06 +0200 (Tue, 22 Jul 2008)
New Revision: 2988
Modified:
trunk/varnish-cache/bin/varnishd/storage_file.c
trunk/varnish-cache/bin/varnishd/varnishd.c
Log:
Added granularity as a subargument to the options for file storage:
-s file,<dir_or_file>,<size>,<granularity>
Fixes #244
Modified: trunk/varnish-cache/bin/varnishd/storage_file.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/storage_file.c 2008-07-22 09:02:17 UTC (rev 2987)
+++ trunk/varnish-cache/bin/varnishd/storage_file.c 2008-07-22 09:42:06 UTC (rev 2988)
@@ -244,19 +244,27 @@
struct stat st;
struct smf_sc *sc;
unsigned u;
+ uintmax_t page_size;
AZ(av[ac]);
fn = default_filename;
size = default_size;
+ page_size = getpagesize();
- if (ac > 2)
+ if (ac > 3)
ARGV_ERR("(-sfile) too many arguments\n");
if (ac > 0 && *av[0] != '\0')
fn = av[0];
if (ac > 1 && *av[1] != '\0')
size = av[1];
+ if (ac > 2 && *av[2] != '\0') {
+ q = str2bytes(av[2], &page_size, 0);
+ if (q != NULL)
+ ARGV_ERR("(-sfile) granularity \"%s\": %s\n", av[2], q);
+ }
+
AN(fn);
AN(size);
@@ -266,7 +274,7 @@
for (u = 0; u < NBUCKET; u++)
VTAILQ_INIT(&sc->free[u]);
VTAILQ_INIT(&sc->used);
- sc->pagesize = getpagesize();
+ sc->pagesize = page_size;
parent->priv = sc;
Modified: trunk/varnish-cache/bin/varnishd/varnishd.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/varnishd.c 2008-07-22 09:02:17 UTC (rev 2987)
+++ trunk/varnish-cache/bin/varnishd/varnishd.c 2008-07-22 09:42:06 UTC (rev 2988)
@@ -204,6 +204,7 @@
fprintf(stderr, FMT, "", " -s file [default: use /tmp]");
fprintf(stderr, FMT, "", " -s file,<dir_or_file>");
fprintf(stderr, FMT, "", " -s file,<dir_or_file>,<size>");
+ fprintf(stderr, FMT, "", " -s file,<dir_or_file>,<size>,<granularity>");
fprintf(stderr, FMT, "-t", "Default TTL");
fprintf(stderr, FMT, "-T address:port",
"Telnet listen address and port");
More information about the varnish-commit
mailing list