NAS-139000 / 25.10.2 / Make sure lxcfs is not enabled automatically (#17902)
## Problem
The **`lxcfs`** service currently runs independently, even when **Incus
is not running**.
However, Incus expects `lxcfs` to be active **only when Incus itself is
set up and running**.
Keeping `lxcfs` running outside of Incus’s lifecycle leads to
unnecessary background services and inconsistent service management.
## Solution
Disable the standalone `lxcfs` service and tie its lifecycle directly to
Incus:
* Stop `lxcfs` automatically when Incus is stopped
* Allow `lxcfs` to start automatically **only as a dependency of
Incus**, since Incus explicitly requires it
[2 lines not shown]
[libc++] Applied `[[nodiscard]]` to more Language Support classes (#171078)
[[nodiscard]] should be applied to functions where discarding the return
value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/support
Towards #172124
Implemented in this release:
- [x] `type_info`
- [x] `type_index`
- [x] `bad_alloc`, `bad_array_new_length`
[libc++][regex] Applied `[[nodiscard]]` (#170974)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https//wg21.link/re
math/calc: Stop conflicting with itself
My initial hope was that pkg would identify and skip tautologies, and
the tests I ran seemed to work at the time, but it doesn't work in
practice. Instead, teach calc not to conflict with calc, and calc-tiny
not to conflict with calc-tiny.
[MLIR][Linalg] Use Top-Down traversal to safely optimize multi-use producer fusion (#172216)
Switches the greedy rewrite traversal for the multi-use producer fusion
pattern to Top-Down (Pre-Order).
The previous Bottom-Up (Post-Order) traversal led to a critical SSA
violation when a producer (P) had multiple users (I and C) and the first
user (I) appeared before the current consumer (C) in the block.
Processing the outer consumer (C) first and attempting to fuse P into C
would create a new fused operation, F. The rewrite would attempt to
replace P's result (used by I) with the output of F. However, since I is
located before F in the block, this replacement breaks SSA dominance
rules, leading to a crash. To ensure correctness, the first use (I) must
be processed and fused before the second use (C). Using Top-Down
traversal ensures that operations are visited and rewritten in the
correct flow order.
Take a look at this example, which represents a three-operation chain
where the first operation, P (**%13:2**), has two users: an intermediate
[42 lines not shown]
[GlobalISel][AArch64] Add support for sli/sri intrinsics (#173364)
GISel previously failed to lower the sli and sri family of intrinsics.
This patch fixes this.
- sli/sri intrinsics are now lowered to G_SLI / G_SRI GlobalISel nodes
during Legalisation.
MIRBuilder is used over LowerTriOp to build the instruction here, as
LowerTriOp treats all operands as registers, whilst the last operand of
sli/sri is an immediate value.
- Intrinsics are treated as "always defines fp" and "always uses fp", to
ensure vectors are always placed on floating point registers.
This fixes an issue where 1-element vectors are placed on general
purpose registers, as IR Translation converts these vectors to i64s.
This PR is a replica of #171448, which was incorrectly merged into the
wrong branch.
[SPIRV] Fix recently introduced test case that depends on assertions. (#173388)
Added missing REQUIRES to ensure that the test case is properly
executed.
The test case was introduced in this PR
https://github.com/llvm/llvm-project/pull/172730
[X86] Add instcombine tests showing potential to fold shifted blendv masks into regular cmp+select sequences (#173383)
When converting blendv intrinsics to generic selects, we currently just
handle direct sext(vXi1) masks but other arithmetic can be converted
with a suitable comparison - with shift lefts being the more useful.
NAS-139004 / 26.04 / Properly add all sed attr for boot pool state (#17901)
This commit adds changes to make sure all_sed attr is properly reflected
in pool normalize info method as that is used in boot plugin apart from
pool plugin where the pydantic model expects all_sed attr to be there as
boot plugin uses pool plugin's pydantic models.
NAS-139056 / 25.10.2 / Fix crypto plugin DN definition to use LongStr… … (#17900)
…(#17888)
…ing to support DNs > 1024 characters
https://ixsystems.atlassian.net/browse/NAS-139056https://forums.truenas.com/t/certificates-cannot-retrieve-response/60967
Looks like this was introduced by #16080.
`DN` is of type `str`, which is limited to 1024 characters by the
BaseModel class:
```python
class BaseModel(PydanticBaseModel, metaclass=_BaseModelMetaclass):
model_config = ConfigDict(
extra="forbid",
strict=True,
str_max_length=1024, <-------------
[27 lines not shown]
hardware: Add the udl driver
I just discovered this driver while auditing apropos results. Turns out,
this driver has existed since FreeBSD 11.0. It was not built by default
initially, but the module is present on my 15.0-RELEASE box.
[BOLT] Add Dockerfile for testing (#173066)
Add utils/docker-tests/Dockerfile to facilitate in-tre and out-of-tree
testing.
Builds perf from source to work around an Ubuntu 24.04 issue.
To reproduce a specific issue adjust the Dockerfile like:
```
RUN git clone https://github.com/llvm/llvm-project
RUN cd llvm-project && git checkout <SHA>
```