NAS-140332 / 26.0.0-BETA.2 / Fix NFS CI test failures on first boot and rapid restarts (by ixhamza) (#18482)
NFS CI tests have been failing for a long time due to two issues.
1. Commit 3fc4fba680 made `nfs.conf.mako` delete `/etc/nfs.conf` on
first boot when `system.global.id` is missing. Without this file, the
`rpc-pipefs-generator` never creates `rpc_pipefs.target`, so
`nfs-idmapd` cannot start. Jenkins creates a fresh VM every run (always
first boot), causing `test_service_update` to reliably fail on `pgrep
rpc.idmapd`. Fix by generating `nfs.conf` in the global ID migration
after the UUID is created.
2. The middleware restarts NFS on every `nfs.update` call. During API
tests, rapid successive restarts exceed the default `systemd` rate-limit
of 5 starts in 10 seconds, causing `systemd` to refuse starting
nfs-server and its dependencies. Fix by adding `StartLimitIntervalSec=0`
override for all NFS-related services.
### Testing
No `api2/test_300_nfs.*` failures in the last 3 API test runs with this
[9 lines not shown]
[X86] Fold compress(splat(x),splat(x),mask) -> splat(x) (#187042)
Noticed while working on i512 shift expansion - if we end up with
repeated splat args, the compress node is unnecessary as we're just
shuffling the same element values
[libc] Avoid host header collisions in full builds (-nostdinc) (#187025)
When building the full library with -nostdinc, directly including
<stdint.h> may pull in host or compiler-provided headers that collide
with LLVM-libc's local macro definitions. Switch to using our internal
stdint-macros.h when LIBC_FULL_BUILD is enabled.
Additionally, declare aligned_alloc with noexcept in C++ to match common
C library declarations and avoid fatal type specification mismatches
during sysroot builds.
Generate nfs.conf after system global ID creation on first boot
3fc4fba680 deletes /etc/nfs.conf on first boot when system.global.id
is missing. Without it, rpc-pipefs-generator cannot create
rpc_pipefs.target, rpc_pipefs is never mounted, and nfs-idmapd cannot
start. This only affects first boot since the file persists on reboots.
Generate nfs.conf in the global ID migration after the UUID is created,
ensuring it exists before POST_INIT daemon-reload runs the generator.
(cherry picked from commit 83d7fe3e73ee9c32aa95effc3b5f4f23d93ba845)
Disable systemd rate-limiting for NFS-related services
The middleware restarts NFS on every nfs.update call (config changes,
protocol switches, port changes). During API tests, rapid successive
restarts exceed default systemd rate-limit of 5 starts in 10 seconds,
causing systemd to refuse starting nfs-server and its dependencies.
Add StartLimitIntervalSec=0 override for all NFS-related services:
nfs-server, nfs-idmapd, nfs-mountd, rpcbind, rpc-statd, fsidd,
and nfsdcld.
(cherry picked from commit a902f4cdf36eb7e5a7925f8e9a1307fc86af789a)
NAS-140332 / 27.0.0-BETA.1 / Fix NFS CI test failures on first boot and rapid restarts (#18480)
NFS CI tests have been failing for a long time due to two issues.
1. Commit 3fc4fba680 made `nfs.conf.mako` delete `/etc/nfs.conf` on
first boot when `system.global.id` is missing. Without this file, the
`rpc-pipefs-generator` never creates `rpc_pipefs.target`, so
`nfs-idmapd` cannot start. Jenkins creates a fresh VM every run (always
first boot), causing `test_service_update` to reliably fail on `pgrep
rpc.idmapd`. Fix by generating `nfs.conf` in the global ID migration
after the UUID is created.
2. The middleware restarts NFS on every `nfs.update` call. During API
tests, rapid successive restarts exceed the default `systemd` rate-limit
of 5 starts in 10 seconds, causing `systemd` to refuse starting
nfs-server and its dependencies. Fix by adding `StartLimitIntervalSec=0`
override for all NFS-related services.
### Testing
No `api2/test_300_nfs.*` failures in the last 3 API test runs with this
[3 lines not shown]
LinuxKPI: Clear the sbuf at the start of each call to seq_read
Each invocation of seq_read invokes the seq_file.show callback which
writes into the sbuf. Then it invokes sbuf_finish before copying the
data into the caller's buffer. Without this, a second call to
seq_read on the same file would try to append data to a finished sbuf.
Reviewed by: bz
Sponsored by: AFRL, DARPA
Add Zstandard to Windows release build (#186772)
This PR adds Zstandard to the Windows release build script to enable
Zstandard support in LLVM.
Part 2 of https://github.com/llvm/llvm-project/issues/184177.
This PR supersedes #186631, which got closed because of a force push
mishap.
[AArch64][GlobalISel] Add G_SQDMULL node
Previously, GISel was failing to lower the sqdmulls.scalar intrinsic. This is just a variation of sqdmull, but on two 32-bit S registers.
To fix this, create a G_SQDMULL node, and lower sqdmulls.scalar to that. This node is linked to the SD patterns for sqdmull, which allow this version of the intrinsic to lower.
[AArch64][clang][llvm] Add support for Armv9.7-A lookup table intrinsics
Add support for the following Armv9.7-A Lookup Table (lut)
instruction intrinsics:
SVE2.3
```c
// Variant is also available for: _u8 _mf8
svint8_t svluti6[_s8](svint8x2_t table, svuint8_t indices);
```
SVE2.3 and SME2.3
``` c
// Variants are also available for _u16_x2 and _f16_x2.
svint16_t svluti6_lane[_s16_x2](svint16x2_t table, svuint8_t indices, uint64_t imm_idx);
```
SME2.3
```c
[9 lines not shown]
NAS-140201 / 27.0.0-BETA.1 / Make `pool.snapshottask.run` a job that can raise an error (#18406)
Also make it raise an error when a manually ran periodic snapshot task
tries to create a snapshot that already exists (but do not set task
state to failure in this case).
---------
Co-authored-by: Logan Cary <logan.cary at ixsystems.com>
ports-mgmt/pkg-devel: update to 2.6.99.3
Changes:
- libfetch: fix segfault at exit when using SRV mirror type
- solver: avoid spurious reinstall from wrong repo with multi-repo setups