This is a patch to reduce the outage window during a rotate and to not
abort when the log file system is full.
Ken
------------------------------------------------------------------------------------------------------------------------------------------------------
Index: src/logfile.c
--- base/squid-2.5.STABLE9/src/logfile.c 2003-01-20
10:57:50.000000000 -0800
+++ change/squid-2.5.STABLE9/src/logfile.c 2005-08-18
13:21:28.000000000 -0700
@@ -187,9 +187,18 @@
int s;
s = FD_WRITE_METHOD(lf->fd, buf, len);
fd_bytes(lf->fd, s, FD_WRITE);
- if (s == len)
- return;
- if (!lf->flags.fatal)
- return;
- fatalf("logfileWrite: %s: %s\n", lf->path, xstrerror());
+
+ /*
+ * Don't abort and core dump because we can't write a log file
+ * Something else should come along and free up some space on the
+ * partition.
+ *
+ * if (s == len)
+ * return;
+ * if (!lf->flags.fatal)
+ * return;
+ * fatalf("logfileWrite: %s: %s\n", lf->path, xstrerror());
+ */
+
+ return;
}
Index: src/main.c
--- base/squid-2.5.STABLE9/src/main.c 2005-02-20 18:55:04.000000000 -0800
+++ change/squid-2.5.STABLE9/src/main.c 2005-10-24 13:26:45.000000000
-0700
@@ -52,6 +52,7 @@
static volatile int do_shutdown = 0;
static void mainRotate(void);
+static void mini_rotate(void);
static void mainReconfigure(void);
static SIGHDLR rotate_logs;
static SIGHDLR reconfigure;
@@ -397,6 +398,14 @@
}
static void
+mini_rotate(void)
+{
+ _db_rotate_log(); /* Rotate cache.log */
+ storeLogRotate(); /* Rotate store.log */
+ accessLogRotate(); /* Rotate access.log */
+}
+
+static void
mainRotate(void)
{
icmpClose();
@@ -719,7 +728,8 @@
mainReconfigure();
do_reconfigure = 0;
} else if (do_rotate) {
- mainRotate();
+ /* mainRotate(); */
+ mini_rotate();
do_rotate = 0;
} else if (do_shutdown) {
time_t wait = do_shutdown > 0 ? (int) Config.shutdownLifetime : 0;
Received on Wed Oct 26 2005 - 17:13:57 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Nov 01 2005 - 12:00:07 MST