Fix pool.dataset.update failing on TrueNAS-managed user properties
## Problem
`pool.dataset.query` reports the properties TrueNAS manages (`comments`, `managedby`, `quota_*`) inside `user_properties` under their API names. When `pool.dataset.update` gets a `user_properties` list, it removes every current key missing from it, including `comments`, and ZFS rejects inheriting a property by that name with "Property does not exist and cannot be inherited". On top of that, `pool.dataset.create` wrote the default `comments="INHERIT"` out literally as `org.freenas:description=INHERIT`, so nearly every dataset carried `comments` and hit this.
## Solution
Skip the TrueNAS-managed keys when working out which user properties to remove on update, and skip any `INHERIT` value on create regardless of whether the property is inheritable. Both mirror what master already does, and the integration test now covers the update and create cases.
gobgp: Update to 4.10.0
da824d9 GoBGP 4.10.0
723f98c feat: add multi-topology IDs to link descriptor API
a15f873 server: apply AS path option updates without resetting sessions
03eaa74 server: drop the queued outgoing messages on a state change
9470f3d server: drain an InfiniteChannel until its output closes
056eb2e table: don't panic on an rpki condition for an unvalidated path
55fa98f table: skip rejected paths in DropStale and MarkLLGRStaleOrDrop
e37cdd8 table: skip rejected paths when building Drop withdrawals
c4d9e77 server: move the ingress loop checks out of the handleUpdate loop
9b49e3f bfd: use transport local address for BFD
0cc5883 packet/bgp: reject an OPEN message that carries AS 0
e59efa7 docs: say that a neighbor setting wins over the peer group
05ba735 server: make a peer group update reach the peers in the group
b2a5ee1 server: keep the neighbor configuration as the caller passed it
9041a8c config/oc: stop forcing peer-as and min-adv-interval from the group
3e9288d fix(metrics): stop reporting peer gauges as counters
7ad257a table: do not emit an empty AS_PATH segment when merging AS4_PATH
[90 lines not shown]
[examples] Set target triple on modules in Kaleidoscope. (#229666)
If no triple is set then the object format component of the Module's
triple will be set by getDefaultFormat in Triple.cpp, typically to ELF.
In AArch64AsmPrinter::emitStartOfAsmFile, the "ELF" default will cause
control to fall through the following check:
if (!TT.isOSBinFormatELF())
return;
and into a region that assumes an MCTargetStreamer. On Darwin/arm64,
which does not set an MCTargetStreamer, this will cause a nullptr
access.
Fix the issue by setting the Module's triple to the host triple as
reported by the KaleidoscopeJIT object.
rdar://189147321
[clang] Implement constexpr heap allocation alignments (#174549)
Previously the old constant interpreter would crash on
`__builtin_assume_aligned` applied to dynamic allocations and the new
interpreter would incorrectly always assume an alignment of 8.
This implements computation of the alignments of dynamic allocations for
the builtin by using the minimum alignment guarantees made in the
standard for each kind of possible dynamic allocation during constant
evaluation.
The kind of allocation depends on the source expression causing it to be
created, but the alignment also depends on the size of the allocation
which can be retrieved from the allocated type, but is decided
dynamically.
For the old constant expression evaluator, the allocated type is always
available from the LValue, but the source expression is only available
from the `DynAlloc` representing the allocation.
[18 lines not shown]
RuntimeLibcallsEmitter: Attribute DefaultCC to the library that references it
Libraries sharing a LibraryName are emitted as one function, so the
DefaultCC for that function was collected from every SystemRuntimeLibrary
that referenced any library with that name. A consumer that references
only a variant not using DefaultCC still contributed its
DefaultLibcallCallingConv, and two such consumers made the name ambiguous.
Only take DefaultCC from consumers whose referenced library uses it. This
is needed once ARM's DefaultCC-using compiler-rt and Lanai's FASTCC both
reference the shared "compiler-rt" name. No change to generated output.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
RuntimeLibcalls: Dedup dispatch calls to the same library function (#229561)
Referencing a provider both as a base opt-out and as a same-name re-add
variant emitted the same setAvailableLibFuncs_<name> call twice. Collapse
references with the same (Name, FuncSuffix) into one dispatch, and drop the
unused dispatch-side exclusion list.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
AMDGPU/GlobalISel: Fix selecting i16 sext atomic loads on gfx6/gfx7
An atomic global sextload from i16 to i32 was incorrectly matched to
buffer_load_sbyte. The correct pattern to buffer_load_sshort is already there,
so remove the incorrect duplicate which was arbitrarily preferred.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[clang-tidy] Fix redundant-parentheses diagnosing synthetic parentheses (#228666)
Skip synthetic parentheses with identical source locations in
`readability-redundant-parentheses`. This also stops
`__builtin_dump_struct(&s, printf)` from being rewritten to `(&s,
printf)`
and stops variables being deleted from OpenMP `linear` clauses.
Fixes #224705.
---------
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
[SDAG] Reuse MMO in `legalizeStoreOps` promotion path
I hit this bug in #229429 when using `i64` for the 64-bit stores.
I ended up using `<2 x i32>` for consistency with other intrinsics but the
bug still remains.
No target hits this so far so I can't test it, but I think it's good to fix it.
Otherwise a i64 store that goes through this path can lose its atomicity for example.
The load path already preserves the MMO I believe.
Unlock zfs resources through typed models
## Problem
Internal callers (failover, boot import, KMIP) started a private dict-based unlock job with its own private models, and results were read with dict indexing. Changing a key from a pipe also rejected valid keys with a leading zero, and change_key accepted keys and passphrases that ZFS would later refuse.
## Solution
- **Unlock**: `zfs.resource.encryption.unlock` gains `start_attachments`, and internal callers start the public job with `ZFSResourceEncryptionUnlockArgsData` and read the returned entry by attribute. `unlock_impl` is now the non-job implementation that takes the model and unwraps secrets once; pool.dataset.unlock calls it directly since it already holds the same job lock.
- **Change key**: the key must be 64 hex characters and a passphrase 8 to 512 characters; a key read from the input pipe is matched as hex text instead of round-tripped through int.
- **Cleanup**: shared `secret_value`/`ancestor_chain` and `is_internal_dataset_name` live in one place each, store_key receives the lowercase ZFS key format while hook payloads are uppercase, and the sync_keys failure is logged with its traceback.
py-test-mock: updated to 3.16.0
3.16.0
* Fixed ``duplicate_iterators=True`` for async functions spied with ``mocker.spy``.
* Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.
* ``mocker.resetall(return_value=True, side_effect=True)`` now also applies to non-callable mocks, such as those returned by ``mocker.create_autospec(SomeClass, instance=True)``. Previously both arguments were silently ignored for them.
* Added ``SpyType`` for annotating ``mocker.spy`` results.
* Dropped support for EOL Python 3.9.
* Removed handling of ``RuntimeError: stop called on unstarted patcher``, which can no longer occur in the supported Python versions.
* Added support for Python 3.15.
py-pytimeparse: updated to 1.1.9
1.1.9
Py3 only
slurm day clock
remove pipe character from sign regex
remove codecs.open
guard against malformed floats and fix interpret-as-minutes bug
[TwoAddressInstruction] Don't mark a use undef if it reads a defined lane (#229554)
When a REG_SEQUENCE with undef sources is lowered with live intervals
available a use that reads the defined lane together with the undef lane
is marked undef as a whole. The copy defining that lane becomes dead and
the use reads an arbitrary register. AMDGPU started to hit this through
packed FP32 reads of a 64-bit subregister with one defined half since
#225174 .
Mark a use undef only when every lane it reads is undef.
[Support] allow placement new with extended alignment (#228507)
llvm/unittests/Support/AllocatorTest.cpp was failing under UBSan on
Windows because we were trying to allocate a 16-byte aligned type and
BumpPtrAllocatorImpl only guaranteed alignof(std::max_align_t). operator
new should guarantee __STDCPP_DEFAULT_NEW_ALIGNMENT__, not
alignof(std::max_align_t). The former is stronger than the latter on
some platforms (16 vs 8 on Windows, arm64 macOS, and s390x Linux)
meaning BumpPtrAllocatorImpl could misalign 16-byte allocations there
where the default allocator would not.
If placement new is used for a type that's aligned stronger than
__STDCPP_DEFAULT_NEW_ALIGNMENT__ and an overload of operator new() with
an align_val_t argument is available, that overload will be used. If the
overload is not available, the allocation can be misaligned regardless
of platform. Add the overload and correct the bound in the existing
operator new() implementation so that we can allocate types with any
alignment using placement new. Also add explicit alignment checks in the
test so that this behaviour is covered outside of UBSan.
math/mumps: repomove from math/mumps4
math/mumps4 is no more used.
math/mumps will follow upstream releases, not the Code_Aster ones.
PR: 299097
Reported by: yuri