devel/aws-checksums: Update to 1.0.1
Rename the PLIST_SUB variables to match devel/aws-c-common, which
upstream derives from the VERSION file as MAJOR.MINOR.PATCH and
MAJOR.MINOR.
ChangeLog: https://github.com/awslabs/aws-checksums/releases/tag/v1.0.1
Fix overly aggressive rejection of valid servers.
Patch taken from https://bugs.ntp.org/3877 . This patch is likely to be
included in the next release.
Fixes PR bin/60831
[InstCombine] Fix profile propagation in zext-bool-add-sub.ll (#227949)
Mark the profiles for the created selects as unknown as we cannot know
anything about the distribution of the condition in the general case.
[flang][NFC] Correct a stale comment on loop reclassification
Two places weaken the classification now, so calling this one "the one
place" is out of date.
[flang] Let a directive keep the loop it owns when its body branches
A loop whose branching is confined to its body keeps its structured
form, but the construct holding it stayed Unstructured. A directive does
not merely contain such a loop, it owns it, and its lowering reads the
construct's own classification to decide whether the loop op carries its
bounds. The directive was left with a bounds-free loop that nothing
could partition, and the loop it owns became a second one nested inside.
Reclassify a directive construct once the loops it holds no longer need
it to stay Unstructured. Children are visited first, so those loops have
already been reclassified by the time the construct is reached. A
construct whose branching leaves it is untouched, as is one holding a
branch of its own.
Taking a loop over also means genFIR(DoConstruct) -- where a plain loop
folds a body whose branching stays inside it into a region -- never runs
for that loop, so fold its body through the same helper. A construct
that takes over no loop, acc data or acc parallel without a loop
[5 lines not shown]
[flang][NFC] Split the OpenACC construct lowering into two lanes (#227706)
genFIR(OpenACCConstruct) decided twice, in three places, whether the
construct it lowers is structured, and reassigned the evaluation it
works from halfway through: before the descent that evaluation is the
construct, after it the loop the directive absorbs. Everything
downstream had to know which one it was holding.
Give each form its own function and leave genFIR to choose between them.
One lane allocates the exit selector, lowers the evaluations the
construct holds, and emits the jump table; the other reads the collapse
clauses, descends to the absorbed depth, and lowers what is inside it.
The prologue and epilogue are short enough to state in both rather than
share.
[RISCV][P-ext] Prevent accidental matches in riscv_packed_simd.c. NFC (#227830)
The function name is printeded multiple times in the output. We need to
make sure we are matching an instruction mnemonic. The way other
existing test cases do this is by checking for a space after the
instruction name. We don't need to do this if the mnemonic contains a
period since those are replaced with underscores in the function name.
[CIR][EH] Fix scope for partial array cleanup (#227838)
There was a bug in CIR where if an array whose elements required
destruction was initialized with an ILE, we weren't properly closing the
EH cleanup scope after the initialization completed, so it enclosed the
rest of the function. The result was that if anything later in the
function threw an exception, it would trigger both the normal
destruction of the array and the leftover EH "partial" cleanup, leading
to a double-free.
This change fixes that problem by introducing a CleanupDeactivationScope
around the init list processing (where we already had a MissingFeature
marker saying this was needed). The EH cleanup scope is now closed when
the CleanupDeactivationScope object goes out of scope.
This change also caused some observable changes to existing tests where
we were previously behaving incorrectly.
Assisted-by: Cursor / various models
Drop the pass-through promote wrapper from zfs.resource ops
## Problem
`zfs.resource.promote` called a module-level `promote` in resource_ops that did nothing but call back into the service's `promote_impl`, adding an extra hop with no logic of its own.
## Solution
The API method now calls `promote_impl` directly through `call_sync2` and the wrapper is removed. The call still goes through the service so `promote_impl` gets its thread-local handle and sends its change event.
fix the bit length of ML-DSA 44/Ed25519 keys that was being
incorrectly reported as 256. The private key length for these
composite keys is 512 bits. This value is only used for display.
Spotted by Yiyue Wang
Match pool.dataset's volsize headroom and thick re-reserve rules in zfs.resource
## Problem
The volume headroom checks in `zfs.resource` matched neither `pool.dataset` on master nor ZFS. Create measured the refreservation, so sparse volumes were exempt. Set measured the refreservation growth against the zvol's free space, with a 100% cap under `force_size`, which ignored metadata overhead and data already written: a thick grow could go further than master allowed, a sparse zvol with data less, and `force_size` refused grows ZFS accepts. Set also only checked when volsize actually changed, where master checked whenever volsize was sent.
The thick re-reserve on grow also differed from master: it re-reserved any volume whose refreservation sat between the old and new size and skipped received reservations, where master only did so when the refreservation equals the volsize.
## Solution
- **Headroom**: create and set both refuse a volsize above 80% of the base with master's message, thick or sparse. On create the base is the nearest existing ancestor's `available`, and a missing immediate parent without `create_ancestors` skips the check so the missing-parent error is reported, as on master; on set it is the immediate parent's `available` plus the zvol's `used`, and the check runs whenever volsize is in the request. `force_size` skips it and leaves the rest to ZFS. The `force_size` descriptions say so, and `pool.dataset`'s go back to master's text.
- **Thick re-reserve**: a grow asks for `refreservation=auto` only when the current refreservation equals the volsize and none is sent, as master did. libzfs already grows a reservation it computed itself. Read-only and locked volumes are refused before this matters, as before.
The unit and integration tests follow the new rules; the create test that only checked the refreservation attribute is gone.