Index: include/llvm/Support/CachePruning.h =================================================================== --- include/llvm/Support/CachePruning.h +++ include/llvm/Support/CachePruning.h @@ -54,6 +54,11 @@ /// This defaults to 1000000 because with that many files there are /// diminishing returns on the effectiveness of the cache, and file /// systems have a limit on total number of files. + /// Notably ext4 on Linux, with the default setting (block + /// size is 4096 and large_dir is off), there is a per-directory entry limit + /// of 508*510*floor(4096/(40+8))~=20M for average filename length of 40. Due + /// to the inbalance of the htree structure, certain filenames cannot be + /// created while others can before hitting the limit. uint64_t MaxSizeFiles = 1000000; };