Merge tag 'erofs-for-6.19-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs
Pull erofs fix from Gao Xiang:
- Don't increase s_stack_depth which caused regressions in some
composefs mount setups (EROFS + ovl^2)
Instead just allow one extra unaccounted fs stacking level for
straightforward cases.
* tag 'erofs-for-6.19-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
erofs: don't bother with s_stack_depth increasing for now
[libc++][NFC] Small cleanups for `any` (#175164)
1. Replace `std::trait<Args...>::value` with `std::trait_v<Args...>`.
2. Replace `_NOEXCEPT` in C++17 and later with `noexcept`.
3. Inline `any::swap` into the class body.
[libcxx] Add missing member `cend()` to `MinSequenceContainer` (#175114)
The `MinSequenceContainer` (used in tests for `<flat_map>` and
`<flat_set>`) currently provides `begin()`, `end()`, `cbegin()` but no
`cend()`.
[[container.reqmts]](https://eel.is/c++draft/container.reqmts#36) lists
member function `cend` as one of container requirements, together with
`begin()` and others.
erofs: don't bother with s_stack_depth increasing for now
Previously, commit d53cd891f0e4 ("erofs: limit the level of fs stacking
for file-backed mounts") bumped `s_stack_depth` by one to avoid kernel
stack overflow when stacking an unlimited number of EROFS on top of
each other.
This fix breaks composefs mounts, which need EROFS+ovl^2 sometimes
(and such setups are already used in production for quite a long time).
One way to fix this regression is to bump FILESYSTEM_MAX_STACK_DEPTH
from 2 to 3, but proving that this is safe in general is a high bar.
After a long discussion on GitHub issues [1] about possible solutions,
one conclusion is that there is no need to support nesting file-backed
EROFS mounts on stacked filesystems, because there is always the option
to use loopback devices as a fallback.
As a quick fix for the composefs regression for this cycle, instead of
[32 lines not shown]
[clang-tidy] Support C++20 constinit in bugprone-dynamic-static-initializers (#174744)
Variables marked with `constinit` are guaranteed to be statically
initialized. This patch add support for these.
Add filegroups for installed compiler-rt headers (#175278)
These are installed along-side the builtin Clang headers. Adding these
filegroups follows the filegroups in clang/BUILD.bazel and allows
merging when both are needed.
[clang-doc] Serialize repository URL in Mustache templates (#174914)
Location tags didn't handle possible `FileURL` fields when a repository
URL was specified in a clang-doc invocation. This also cleans up all
location occurences to use `<p>` instead of `<div>` and allows linking
to the repository URL.
add dependencies for tkx-ed (bwidget, ctext in tklib) and tkx-prove
(Test-Harness-Straps) which are included in the package but not part
of the actual module itself.