Re: [SQU] unlink problems in 2.3.STABLE4

From: Miquel van Smoorenburg <list-squid@dont-contact.us>
Date: Sat, 27 Jan 2001 00:18:44 +0000 (UTC)

In article <3A70B664.27CF09B6@hem.passagen.se>,
Henrik Nordstrom <hno@hem.passagen.se> wrote:
>It is fixed in Squid-2.4, and will work in Squid-2.3 if you use the FS
>type you built Squid for. There is no reason to have Squid built with
>--enable-async-io if you only use the "ufs" type store.
>
>I don't expect a patch for Squid-2.3 to be released for this minor
>issue. If you do not want to use the "aufs" store, then rebuild your
>Squid without --enable-async-io.

Here ya go. I have more patches like this, but never got around to
sending them to the squid developers - interested in some of these?

auth_ldap.patch Make searchbase a command line option
htcp-off.patch Makes it possible to turn htcp off in squid.conf
no_append_domain_localhost.patch
                        Don't apply "append_domain" setting to "localhost"
                        in unqualified URLs.
pipeline.patch Pipelining is not stable, at least it wasn't in
                        2.1.* and 2.2.* and noone said it was fixed in 2.3,
                        so turn it off.
smb_auth.sh.patch Read password with '-r' so backslashes work
unlinkd.patch Compile in unlinkd support even with async io

============================== unlinkd.patch ==========================

When async io is compiled in, unlinkd support is not compiled in. This
patch makes sure that unlinkd is always compiled in, but only starts
it if there is at least one cache_dir of type "ufs".

        Miquel van Smoorenburg 06-Nov-2000

--- squid-2.3.4.orig/src/squid.h Thu Feb 10 00:30:00 2000
+++ squid-2.3.4/src/squid.h Mon Nov 6 23:38:00 2000
@@ -335,7 +335,7 @@
 #include <regex.h>
 #endif
 
-#if USE_ASYNC_IO
+#if USE_ASYNC_IO && 0
 #undef USE_UNLINKD
 #else
 #define USE_UNLINKD 1
--- squid-2.3.4.orig/src/main.c Thu Feb 10 00:29:58 2000
+++ squid-2.3.4/src/main.c Mon Nov 6 23:37:36 2000
@@ -317,6 +317,18 @@
     asnFreeMemory();
 }
 
+static int
+needUnlinkd(void)
+{
+ int i;
+ int r = 0;
+ for (i = 0; i < Config.cacheSwap.n_configured; i++) {
+ if (Config.cacheSwap.swapDirs[i].type == SWAPDIR_UFS)
+ r++;
+ }
+ return r;
+}
+
 static void
 mainReconfigure(void)
 {
@@ -340,6 +352,7 @@
 #endif
     redirectShutdown();
     authenticateShutdown();
+ unlinkdClose();
     storeDirCloseSwapLogs();
     errorClean();
     mimeFreeMemory();
@@ -357,6 +370,7 @@
 #if USE_WCCP
     wccpInit();
 #endif
+ if (needUnlinkd()) unlinkdInit();
     serverConnectionsOpen();
     if (theOutIcpConnection >= 0) {
         if (!Config2.Accel.on || Config.onoff.accel_with_proxy)
@@ -488,7 +508,7 @@
 #if USE_ASYNC_IO
         aioInit();
 #endif
- unlinkdInit();
+ if (needUnlinkd()) unlinkdInit();
         urlInitialize();
         cachemgrInit();
         statInit();

Mike.

-- 
The From: and Reply-To: addresses are internal news2mail gateway addresses.
Reply to the list or to miquels@traveler.cistron-office.nl (Miquel van Smoorenburg)
--
To unsubscribe, see http://www.squid-cache.org/mailing-lists.html
Received on Fri Jan 26 2001 - 17:22:33 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:57:36 MST