NAS-144174 / 27.0.0 / Store rsync extra args as list (#19945)
rsync extra args are stored in the database as a string that is split
before serving to the user and joined when writing back to the database.
Split and join are not inverses, so the round trip is lossy: the user
provides `--rsync-path=sudo\ /usr/bin/rsync`, it is stored as
`--rsync-path=sudo /usr/bin/rsync` and split to `["--rsync-path=sudo",
"/usr/bin/rsync"]`.
There is already one "old" format in the database (a string that doesn't
survive `shlex.split`). Adding one more format results in unreadable
tangled code. Let's just store the arguments as provided by the API.
NAS-143714 / 27.0.0 / Fix DISAGREE_VIP being reported on only one controller (by yocalebo) (#19956)
The VIP check compared the critical interfaces on this controller with
every VIP interface on the other controller. A non-critical interface
that lost link on one controller made only the other controller report
DISAGREE_VIP.
Compare the critical interfaces on both sides so both controllers report
the same thing.
Original PR: https://github.com/truenas/middleware/pull/19942
Co-authored-by: caleb <yocalebo at gmail.com>
[mlir][tosa] Lower ROW_GATHER to Linalg (#225417)
Lower ROW_GATHER to a linalg.generic that maps each expanded output row
back to its source index slot and consecutive row offset. Support
dynamic output dimensions and both i32 and i64 indices.
Assisted-by: Codex
NAS-144176 / 27.0.0 / Do not crash updating cloud backup task whose source path is a zvol and whose "Take Snapshot" option is enabled (by themylogin) (#19954)
Original PR: https://github.com/truenas/middleware/pull/19946
Co-authored-by: themylogin <themylogin at gmail.com>
NAS-143714 / 28.0.0-BETA.1 / Fix DISAGREE_VIP being reported on only one controller (#19942)
The VIP check compared the critical interfaces on this controller with
every VIP interface on the other controller. A non-critical interface
that lost link on one controller made only the other controller report
DISAGREE_VIP.
Compare the critical interfaces on both sides so both controllers report
the same thing.
NAS-144046 / 27.0.0 / Skip serial and model license checks for non-enterprise licenses (by sonicaj) (#19951)
This commit fixes an issue where TrueNAS Connect community and
commercial licenses raised critical serial mismatch and unsupported
hardware alerts, because the serial, chassis model and expansion shelf
checks ran for every license type. Those checks only make sense for
serial-bound enterprise licenses, so they are now gated on the license
type while support expiry alerts keep firing for everyone.
Original PR: https://github.com/truenas/middleware/pull/19934
Co-authored-by: Waqar Ahmed <waqarahmedjoyia at live.com>
[BOLT][AArch64] Port X86 --custom-allocation-vma test to AArch64 (#229104)
**Before**: #136385 introduced the `--custom-allocation-vma` flag for
BOLT to be able to specify a suitable location to place rewritten
binary. This was accompanied by a corresponding test for `x86`.
**After**: This PR ports the existing test `high-segments.s` to AArch64,
improving test coverage.
Assisted-by: Codex
[AArch64][PAC] Reset `killed` operand flags in outlined functions
Presently, MachineOutliner does not take `killed` operand flags into
account when merging instruction sequences. While it sounds perfectly
reasonable not to inhibit merging of the instruction sequences that
only differ in `killed` flags (for N flags there is technically 2^N
valid ways to drop some subset of them), copying these flags from
an arbitrarily chosen representative instruction may result in
incorrect codegen of PAuth-related pseudo instructions on AArch64.
To keep `killed` flags conservatively correct as if `OUTLINED_FUNCTION`s
are virtually re-inserted at every call site, this patch takes the
simplest approach of resetting every `killed` flag inside the
outlined functions.
Do not crash updating cloud backup task whose source path is a zvol and whose "Take Snapshot" option is enabled
(cherry picked from commit 72dade291d53882a705cf255fa6376d09fd23a22)
[X86] Require contract on FMUL while folding FMADDSUB to VFMULC (#229309)
FMADDSUB/FMSUBADD has no FMF, so we check its only operand (third; FMUL) which still has it.
RISCV: Stop setting kill flags on virtual registers before FinalizeISel (#229013)
Kill flags have no remaining use before register allocation and are stripped by
LiveIntervals.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>