]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Documentation: Update stale SMP cache_dir caveats (#1394)
authorAlex Rousskov <rousskov@measurement-factory.com>
Fri, 23 Jun 2023 23:05:27 +0000 (23:05 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Sat, 24 Jun 2023 02:17:27 +0000 (02:17 +0000)
The requirement to specify "workers" before "cache_dir" was added in
2010 commit acf69d7. It became obsolete since 2011 commit 095ec2b.

The "dedicated cache directory" hack for UFS-based stores has always led
to HTTP violations, but the increased complexity of worker-to-worker
synchronization code (required to improve HTTP support) also increased
the probability of crashes or worse outcomes when SMP conditionals are
used. Those hacks violate the "all processes see the same configuration"
and similar basic code assumptions. We do not test (and usually do not
even consider the needs of) such unsupported configurations.

src/cf.data.pre

index 6438b254e971e2f1ad0b1e760b57361a54587347..188a4a76d8b1248e88f0e93aa1666118c188bb58 100644 (file)
@@ -4304,9 +4304,11 @@ DOC_START
        The directory must exist and be writable by the Squid
        process.  Squid will NOT create this directory for you.
 
-       In SMP configurations, cache_dir must not precede the workers option
-       and should use configuration macros or conditionals to give each
-       worker interested in disk caching a dedicated cache directory.
+       Rock is currently the only SMP-aware cache_dir type. Using other
+       store types in configurations with multiple workers is not
+       supported and may lead to HTTP violations or undefined behavior,
+       even when each such cache_dir is given a dedicated worker using
+       configuration conditionals.
 
 
        ====  The ufs store type  ====