NAS-142011 / 27.0.0-BETA.1 / `Private` API parameters (#19456)
API parameters annotated with `Private[...]` will be excluded from API
doc, and passing them via an API call will be an error.
NAS-142040 / 26.0.0-RC.1 / Add recursive option to container delete (by Qubad786) (#19470)
## Problem
A container whose dataset has dependents could not be deleted at all,
and the attempt was not free: the libvirt domain was torn down before
ZFS refused the destroy, killing a running container and discarding a
suspended one's state for a delete that was never going to succeed.
## Solution
Validate the dataset up front, before any libvirt state is touched, so a
delete that cannot succeed is refused cleanly and the container is left
exactly as it was. Adds a `recursive` delete option that destroys the
dataset together with its dependents for callers who do want it gone.
Both refusals are now validation errors naming the option that lifts
them, which means deleting a running container without `force` returns a
validation error where it previously returned a call error.
CI: http://jenkins.eng.ixsystems.net:8080/job/tests/job/api_tests/9941/
[2 lines not shown]
fts: refactor to use fd-relative operations internally
Replace all _open() calls with _openat() in __fts_open(), fts_read(),
and fts_children(). Replace statfs() with _fstatfs().
Add fts_dirfd to struct _ftsent, set to the file descriptor of the
parent directory. Callers can use openat(ent->fts_dirfd, ent->fts_name,
...) to access files safely without relying on fts_accpath, which
enables programs in capability mode to open the files described by
_ftsent.
This is a preparatory change for fts_openat() which will allow callers
to provide a pre-opened directory fd, enabling fts(3) traversal inside
Capsicum capability mode.
Mirror all fts_open() changes to fts_open_b().
As a result of expanding _ftsend, publish new ELF symbol versions for
fts_openat and related functions.
[4 lines not shown]
NAS-142051 / 26.0.0-BETA.3 / Fix AttributeError in smb.set_system_sid from NAS-141946 backport (by anodos325) (#19474)
The backport of NAS-141946 (#19425) kept master's typed service accessor
(self.s.service) in smb_/sid.py, but the stable/26 ServiceContainer does
not register a `service` attribute. Every call that reached the winbindd
restart decision failed with "'ServiceContainer' object has no attribute
'service'", breaking all AD domain joins in directory services CI.
Convert both calls to the string API used elsewhere on stable/26 and
rewire the unit test mocks to match.
Original PR: https://github.com/truenas/middleware/pull/19473
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[CIR] Fix cleanup of temporaries with null-checked new expr (#213376)
We had a problem where a new expression that required both a null check
of the allocated pointer and a cleanup of temporaries values created for
the initializer was causing us to generate an unterminated cleanup
scope. This was happening because we weren't pre-creating a cleanup
scope around the entire expression for the temporary and ended up
emitting it in an unexpected location.
This change adds a check for the null-checked new expression in
`ConditionalEvaluationFinder` and wraps the call to emit the initializer
with `ConditionEvalulation::begin/endEvaluation` calls.
Note that I have sunk the `begin/endEvaluation` into the `emitInit`
lambda so that it can surround just the `emitNewInitializer` call and
not the `enterNewDeleteCleanup` call, which creates a local cleanup
scope for the case where the allocation succeeded but the constructor
throws an exception. Classic codegen calls `begin/endEvaluation` at a
higher level and ends up using an active flag for the allocation delete
[3 lines not shown]
[SystemZ] Fix crash in EmitTargetCodeForMemmove with i32 size operand (#213726)
SystemZISD::MEMMOVE requires an i64 length operand, but Size was passed
raw. A constant size literal can be represented as i32, causing a
SelectionDAG verifier crash observed when compiling SPEC CPU benchmarks
wrf, cam4 and fotonik3d with -march=z17 -O3.
Fix by zero-extending Size to i64 before building the node.
Co-authored-by: anoop.kumar6 at ibm.com <anoopk at b35lp63.lnxne.boe>
[SLP]Support copyable fmuls in fmuladd, modeled as fmuladd(a, b, -0.0)
A copyable lane holding a single-use fmul a, b is modeled as
fmuladd(a, b, -0.0), which equals fmul a, b (the add of -0.0 is exact
and preserves signed zeros), so the multiply dies instead of being
computed and gathered. Applied only when every copyable lane is such
an fmul; multi-use fmuls and mixed copyables keep the
addend/multiplicand modeling. On a tie between fmuladd and fmul main
ops, fmuladd is preferred only when the fmuls are absorbed profitably:
single-use, operands not part of the list and vectorizable as
multiplicand operands.
Reviewers: bababuck, hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/213369
NAS-142011 / 26.0.0-BETA.3 / `Private` API parameters (by themylogin) (#19463)
API parameters annotated with `Private[...]` will be excluded from API
doc, and passing them via an API call will be an error.
Original PR: https://github.com/truenas/middleware/pull/19456
---------
Co-authored-by: themylogin <themylogin at gmail.com>
NAS-142011 / 26.0.0-RC.1 / `Private` API parameters (by themylogin) (#19464)
API parameters annotated with `Private[...]` will be excluded from API
doc, and passing them via an API call will be an error.
Original PR: https://github.com/truenas/middleware/pull/19456
---------
Co-authored-by: themylogin <themylogin at gmail.com>
[libc++][docs] Mark LWG3116 as Complete (#209916)
We can mark this issue as completed because the fix for LWG 3116 is
already implemented in <scoped_allocator>, and no further tests are
needed.
Why no further tests are needed: The existing test suite in
libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
already provides full coverage for the scenario explained in lwg3116.
This test suite instantiates nested scoped allocators (using A1 and A2)
and calls .construct(). Because std::allocator_traits cannot be
instantiated with a reference type (e.g., A1&), this test suite would
fail to compile if the reference-stripping fix were missing.
Closes #100244
18281 vm_getusage() should use uio_copyin() instead of faking ioctl mode flags
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
Fix AttributeError in smb.set_system_sid from NAS-141946 backport
The backport of NAS-141946 (#19425) kept master's typed service
accessor (self.s.service) in smb_/sid.py, but the stable/26
ServiceContainer does not register a `service` attribute. Every
call that reached the winbindd restart decision failed with
"'ServiceContainer' object has no attribute 'service'", breaking
all AD domain joins in directory services CI.
Convert both calls to the string API used elsewhere on stable/26
and rewire the unit test mocks to match.
(cherry picked from commit f8eef9e4caad1e8d26cae7c3174266873beb1b79)
NAS-142051 / 26.0.0-RC.1 / Fix AttributeError in smb.set_system_sid from NAS-141946 backport (#19473)
The backport of NAS-141946 (#19425) kept master's typed service accessor
(self.s.service) in smb_/sid.py, but the stable/26 ServiceContainer does
not register a `service` attribute. Every call that reached the winbindd
restart decision failed with "'ServiceContainer' object has no attribute
'service'", breaking all AD domain joins in directory services CI.
Convert both calls to the string API used elsewhere on stable/26 and
rewire the unit test mocks to match.
18270 find and xargs could use posix_spawn()
Reviewed by: Andrew Stormont <andyjstormont at gmail.com>
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
[clang-tidy][docs] Generate static analyzer check docs as Markdown (#211449)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #211448 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
Unlike the other changes in this series, most of these changes are from
the generator script. Ignore all files under checks/ except `list.md`,
that is hand-modified. I confirmed that running the generator script
produces no changes.
Notably, the generator script *added new files*, since it seems there
are new checks since the script was run.
security/caldera: change RUN_DEP from net/haproxy24 to net/haproxy to unbreak index
- Checked code, it's referenced only by a config and will probably work
with every version of haproxy