]> 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)
committerAmos Jeffries <yadij@users.noreply.github.com>
Fri, 30 Jun 2023 12:55:30 +0000 (00:55 +1200)
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 33087f70ff6fa749e52b329f0e907575e8bb1291..44aa34d66e549294ed6badfcf4afa392abe783ba 100644 (file)
@@ -4300,9 +4300,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  ====