FreeNAS/freenas 79b509e — src/middlewared/middlewared/api/v26_0_0 s3.py, src/middlewared/middlewared/plugins/truenas_s3 config.py on_disk.py

NAS-144061 / 27.0.0-BETA.1 / Add bucket recovery APIs (#19873)

There are various situations in which we can have orphaned buckets.
Examples include:

* bucket is deleted and admin wants to reinstate.
* the NAS is disaster recovery instance and needs to activate buckets
after switching datasets to read-write.

This is facilited by inserting a .truenas_s3/config_backup.json file
inside each bucket (daemon-owned path) and restoring the DB row / S3
config with some user-provided overrides if required.

Two new API endpoints are added:

* sharing.s3.recoverable_buckets lists mounted datasets containing
orphaned buckets.

* sharing.s3.recover basically takes a list of datasets and rebuilds

    [3 lines not shown]
DeltaFile
+423-16src/middlewared/middlewared/plugins/truenas_s3/bucket_crud.py
+295-0tests/api2/test_s3_bucket.py
+120-0src/middlewared/middlewared/pytest/unit/plugins/test_truenas_s3_on_disk.py
+103-0src/middlewared/middlewared/plugins/truenas_s3/on_disk.py
+63-1src/middlewared/middlewared/api/v26_0_0/s3.py
+9-1src/middlewared/middlewared/plugins/truenas_s3/config.py
+1,013-186 files

LLVM/project 9073f24 — lld/test/Unit lit.cfg.py, lld/unittests/AsLibELF CMakeLists.txt OutputStream.cpp

Revert "[lld][test] Use LLVM helpers for input file discovery" (#227045)

Reverts llvm/llvm-project#220404

Based on post merge comments on that change
DeltaFile
+21-12lld/unittests/AsLibELF/ROCm.cpp
+3-6lld/unittests/AsLibELF/OutputStream.cpp
+4-0lld/test/Unit/lit.cfg.py
+1-2lld/unittests/AsLibELF/CMakeLists.txt
+29-204 files

LLVM/project 9fcdae4 — llvm/lib/Target/AMDGPU AMDGPURewriteAGPRCopyMFMA.cpp, llvm/lib/Target/ARM ARMLoadStoreOptimizer.cpp

[CodeGen] Re-land reverted PR (#216510): "Use RegisterClassInfo for remaining allocation-order users" (#222450)

Re-land PR #216510 which was reverted in #221749 and fixed by @mhalk in
#221849.

Additionally addresses the comment in the reversion PR to fix
`/llvm/test/CodeGen/AArch64/wineh-try-catch.ll` with -regalloc=pbqp by
refreshing RCI with updateReservedRegs from my previous PR.

Edit: Removed PBQP related items from this PR.
Assisted by composer 2.5
DeltaFile
+19-16llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+10-8llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+29-242 files

LLVM/project dbe2ac3 — llvm/lib/Target/AMDGPU GCNSubtarget.h AMDGPU.td, llvm/test/CodeGen/AMDGPU coexec-sched-flavor-classification.mir

[AMDGPU] Make GFX1250VALUBlockingCycles a feature. (#226314)

Included (intentional) behavior change: gfx1251 (w/ FullRate64Ops) does
not have GFX1250VALUBlockingCycles feature --- table is only partially usable for
gfx1251.
DeltaFile
+8-0llvm/lib/Target/AMDGPU/AMDGPU.td
+0-4llvm/lib/Target/AMDGPU/GCNSubtarget.h
+3-0llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir
+11-43 files

FreeBSD/ports b69422e — devel/protobuf-c Makefile distinfo, devel/protobuf-c/files patch-configure patch-m4_ld-version-script.m4

devel/protobuf-c: update to 1.5.2

Update protobuf-c to version 1.5.2:
  * Chase compatibility issues with Google protobuf 30.0-rc1 by @edmonds
    in #762

  * protoc-gen-c: Explicitly construct strings where needed for protobuf
    30.x by @edmonds in #768

Add autoreconf.

Add a small patch to fix the symbol versioning bug. The patch will
be submitted upstream as well.

Fetch GitHub release tarball. (truckman)

PR:             298768
Sponsored by:   DomainTools LLC
DeltaFile
+11-0devel/protobuf-c/files/patch-m4_ld-version-script.m4
+0-10devel/protobuf-c/files/patch-configure
+3-3devel/protobuf-c/distinfo
+2-3devel/protobuf-c/Makefile
+16-164 files

OpenZFS/src 495d09b — include libzfs.h, lib/libzfs libzfs_pool.c libzfs.abi

Export zpool_valid_proplist from libzfs

zpool_create checks pool properties with zpool_valid_proplist before it
asks the kernel to create the pool. The function is static, so a caller
that wants to check pool properties ahead of time, such as a dry run of
pool creation, has to copy its rules and keep them in step by hand.

Make the function public and move prop_flags_t, the flags it takes, to
libzfs.h. The function itself is unchanged. Update libzfs.abi to match.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Signed-off-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
Closes #19190
DeltaFile
+22-0lib/libzfs/libzfs.abi
+1-7lib/libzfs/libzfs_pool.c
+8-0include/libzfs.h
+31-73 files

FreeBSD/ports c5d38e4 — security/nextcloud-end_to_end_encryption Makefile distinfo

security/nextcloud-end_to_end_encryption: Update to 2.3.0
DeltaFile
+3-3security/nextcloud-end_to_end_encryption/distinfo
+1-1security/nextcloud-end_to_end_encryption/Makefile
+4-42 files

LLVM/project a3cf6f4 — llvm/lib/Target/AMDGPU SIWholeQuadMode.cpp, llvm/test/CodeGen/AMDGPU wqm.mir

AMDGPU: Mark SCC def dead in kill/demote lowering (#227024)

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+12-6llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
+1-1llvm/test/CodeGen/AMDGPU/wqm.mir
+13-72 files

OpenZFS/src 47906ec — lib/libzfs_core libzfs_core.c

libzfs_core: block delivery of SIGUSR1 in send_worker thread

This fixes a Linux-specific bug.

3a909fe33 (libzfs, libzfs_core: send: always write to pipe, 2022-02-21)
introduced a subtle bug where zfs send -RPv would not print status
information periodically anymore when the stdout is redirected to
something that isn't a pipe (e.g. >/dev/null).

This is because the send_worker thread introduced by this commit
is created with an unmodified signal mask from libzfs. When
zfs_send_space is called it creates this thread.  When we request
verbose status information another thread is created which, in
theory, should periodically receive a SIGUSR1 via a POSIX timer.

The main thread blocks USR1 delivery *after* the creation of the
progress thread, leaving the send_worker thread's signal mask
unmodified. The delivery of SIGUSR1 is now random and for at least
Debian Trixie with kernel 6.12.107+deb13-amd64 this causes the

    [12 lines not shown]
DeltaFile
+25-2lib/libzfs_core/libzfs_core.c
+25-21 files

FreeBSD/ports 3396922 — www/h2o Makefile distinfo

www/h2o: Update to 20260913 snapshot

Sponsored by:   SkunkWerks, GmbH
Differential Revision:  https://reviews.freebsd.org/D60088
Tested by:      Uwe Trenkner <uwe at trenknerconsulting.com>
DeltaFile
+3-3www/h2o/distinfo
+1-1www/h2o/Makefile
+4-42 files

FreeBSD/src f3c0dcd — sys/dev/ipmi ipmi_isa.c

ipmi: Add some additional diagnostic output on errors

Add some additional diagnostic output for IPMI code,
particularly on error paths. This has been found to be helpful at
$WORK and seems generally useful, so contributing the changes back to
upstream.

Sponsored by: Dell Technologies
Reviewed by: vangyzen@
Differential Revision: https://reviews.freebsd.org/D60091
DeltaFile
+16-1sys/dev/ipmi/ipmi_isa.c
+16-11 files

LLVM/project c94d414 — flang/test/Lower do-loop-infinite-body-cycle.f90

[flang][Test] Cover the lowering of loops with a non-terminating body

A previous change leaves such a loop unstructured. Check what that produces:
the cycle survives as a block branching to itself, no fir.do_loop is emitted
for the loop control, and a loop that only needs a block of its own still
gets the structured form with its body in a region.
DeltaFile
+22-0flang/test/Lower/do-loop-infinite-body-cycle.f90
+22-01 files

LLVM/project 31bc098 — flang/lib/Lower Bridge.cpp, flang/test/Lower do-loop-branch-to-loop-header.f90 do_loop_unstructured.f90

[flang] Lower loops whose branching is confined to their body structurally

Such a loop was classified separately by a previous change but still
lowered as unstructured, so its structured form was lost.

Lower it structurally instead, with its body folded into a region that can
hold the branching. The loop keeps its bounds on the op, so it remains
available to whatever transforms or parallelizes it. Only the body is
folded: the loop control statements are emitted as they are for any
structured loop, since a branch from outside may target either of them.

Loops an OpenACC or OpenMP directive owns are lowered the same way, so
they keep their form too.
DeltaFile
+20-134flang/test/Lower/do_loop_unstructured.f90
+119-11flang/lib/Lower/Bridge.cpp
+73-0flang/test/Lower/OpenACC/acc-unstructured-internals.f90
+34-28flang/test/Lower/OpenMP/wsloop-unstructured-cycle.f90
+55-0flang/test/Lower/do-loop-branch-to-loop-header.f90
+50-0flang/test/Lower/OpenMP/metadirective-loop-unstructured.f90
+351-17310 files not shown
+453-24116 files

LLVM/project 5dd268c — flang/lib/Lower PFTBuilder.cpp

[flang] Honor the execute-region wrap flag when detecting loop internals

A loop whose branching is confined to its body is lowered with that body
in an scf.execute_region, since the CFG needs more than the single block
fir.do_loop's region admits. With the wrap disabled there is nowhere to
put those blocks, so skip the reclassification and leave the loop
unstructured.
DeltaFile
+7-0flang/lib/Lower/PFTBuilder.cpp
+7-01 files

LLVM/project fd60f03 — flang/lib/Lower PFTBuilder.cpp, flang/test/Lower do-loop-infinite-body-cycle.f90

[flang] Keep loops with a non-terminating body unstructured

A loop body that cannot run to completion must not be folded into an
scf.execute_region: the region carries no memory effects, so DCE deletes
it outright, dropping the non-termination and letting execution fall past
the loop. Branches survive that, being terminators.

An infinite DO was already rejected. Follow chains of unconditional GO TOs
as well and reject a body whose chain closes on itself, which is the same
bound the cf.br canonicalization applies to cyclic branches.
DeltaFile
+49-0flang/test/Lower/do-loop-infinite-body-cycle.f90
+30-1flang/lib/Lower/PFTBuilder.cpp
+79-12 files

LLVM/project 752e1d6 — flang/include/flang/Lower PFTBuilder.h, flang/lib/Lower PFTBuilder.cpp

[flang] Detect loops whose branching is confined to their body

A DO loop is classified as either structured or unstructured, and a single
raw branch anywhere in its body forces the loop -- and every construct
enclosing it -- onto the unstructured path.

That is stronger than necessary. A loop keeps its structured control flow
as long as its branching neither leaves its body nor enters it from
outside. Classify such a loop separately from a fully unstructured one.

This only classifies: lowering is unchanged. PFT dumps mark the new
classification with '~', which is what the tests key on.
DeltaFile
+191-23flang/lib/Lower/PFTBuilder.cpp
+137-0flang/test/Lower/pre-fir-tree-unstructured-internals.f90
+51-6flang/include/flang/Lower/PFTBuilder.h
+9-6flang/test/Lower/trailing-cycle.f90
+388-354 files

LLVM/project 25d51d0 — flang/lib/Lower PFTBuilder.cpp, flang/test/Lower pre-fir-tree-assigned-goto.f90

[flang] Resolve an assigned GO TO's targets from the completed assign map

An assigned GO TO reaches any label ASSIGNed to its variable, and a label
list does not bound that: lowering allows a branch to any ASSIGNed label
whether or not the list names it. Branch analysis only sees the ASSIGNs
preceding the GO TO in program order, so the successors it records, and the
incoming branches derived from them, can be incomplete.

The symbol-to-labels map is complete once branch analysis has finished,
which is when the classification runs. Ask it for the full target set
instead of trusting the recorded successors, so a loop whose assigned GO TO
stays within its body is still recognised.
DeltaFile
+45-0flang/test/Lower/pre-fir-tree-assigned-goto.f90
+22-2flang/lib/Lower/PFTBuilder.cpp
+67-22 files

LLVM/project 2d254ab — flang/include/flang/Lower PFTDefs.h PFTBuilder.h, flang/lib/Lower PFTBuilder.cpp

[flang] Record the evaluations that branch to each evaluation (#225755)

The PFT records where each branch goes, but not where it comes from, so
asking whether anything branches into a construct means walking the
whole procedure.

Record the reverse edges beside the forward ones, and print them in PFT
dumps so both directions of the branch graph are visible.
DeltaFile
+68-0flang/test/Lower/pre-fir-tree-incoming-branches.f90
+20-0flang/lib/Lower/PFTBuilder.cpp
+8-8flang/test/Lower/assigned-goto-labeled-end.f90
+3-3flang/test/Lower/trailing-cycle.f90
+5-0flang/include/flang/Lower/PFTBuilder.h
+3-0flang/include/flang/Lower/PFTDefs.h
+107-111 files not shown
+108-127 files

OpenZFS/src a8ea852 — cmd/zinject translate.c, config user.m4 user-makedev.m4

userspace: remove makedev detection and cleanup headers

makedev() is defined in sys/sysmacros.h on Linux, and sys/types.h on
FreeBSD. However, nothing in any of our userspace code actually uses it,
so all the supporting edifice isn't actually used.

Worse though, the SPL sys/sysmacros.h defines a lot more in userspace
than in kernel, and since sys/types.h would pull it in directly to keep
up the appearance that makedev() is in sys/types.h, it's not always
clear where some of those things in sysmacros.h are coming from, or
_should_ come from.

So clean this up. Remove the the makedev config tests, the empty mkdev.h
header, and the inclusion of sysmacros.h from types.h. For those things
that actually needed some of those definitions, include sysmacros.h
directly.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #19204
DeltaFile
+0-38config/user-makedev.m4
+0-20lib/libspl/include/sys/mkdev.h
+0-11lib/libspl/include/sys/sysmacros.h
+0-6lib/libspl/include/sys/types.h
+0-2config/user.m4
+0-2cmd/zinject/translate.c
+0-7913 files not shown
+11-8119 files

NetBSD/pkgsrc-wip 84765e2 — gnupg2 distinfo DESCR, gnupg2/patches patch-common_sysutils.c

gnugp2: remove, pkgsrc version is newer
DeltaFile
+0-134gnupg2/PLIST
+0-56gnupg2/Makefile
+0-47gnupg2/options.mk
+0-17gnupg2/patches/patch-common_sysutils.c
+0-7gnupg2/DESCR
+0-6gnupg2/distinfo
+0-2672 files not shown
+0-2708 files

LLVM/project ec3fb00 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU narrow-int-to-bfloat.ll narrow-int-to-fp.ll

[AMDGPU] Price scalar integer to fp casts by source width and sign

Scalar sources between a byte and 31 bits fell to the default cost of one
while the matching vector lanes were already priced, which skewed the
difference SLP weighs a bundle against. Such a source is extended before
the conversion, and what the extension takes depends on the width, on the
sign and on whether the subtarget has SDWA and 16 bit instructions.
Sources narrower than a byte are left alone, because their vector form is
not priced either.
DeltaFile
+259-259llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+45-45llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+29-9llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+333-3133 files

LLVM/project 05f4979 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp

format
DeltaFile
+1-1llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+1-11 files

LLVM/project 6aa9433 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU narrow-int-to-bfloat.ll

[AMDGPU] Price narrow integer to bfloat vector casts

A vector lane of 9 to 15 or 17 to 31 bits converted to bfloat got the
generic cost, which leaves out the rounding. Such a lane is converted to
f32 first like any other narrow lane, so price it as the f32 conversion of
the same source plus the rounding. Lanes of 8 and 16 bits keep their cost.
DeltaFile
+45-45llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+11-7llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+56-522 files

LLVM/project 0caf8b6 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU fptoui.ll fptosi.ll

fix 16-bit conv
DeltaFile
+136-136llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+69-31llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+30-14llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
+30-14llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
+41-3llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+306-1985 files

LLVM/project 6d609f8 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU fptoui.ll narrow-int-to-bfloat.ll

[AMDGPU] Model the cost of the expanded integer to/from floating point casts

No instruction converts to or from a 64 bit integer, and narrow vector
lanes are converted one at a time. Price these expansions by the FP64
rate, sdwa and 16 bit instruction support, and price i33 to i63 like
i64 and bf16 like f32 plus rounding.

Assisted-by: Claude Code Opus 5
DeltaFile
+312-215llvm/test/Analysis/CostModel/AMDGPU/cast.ll
+210-210llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+146-70llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+70-70llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+107-0llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+60-37llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
+905-6021 files not shown
+965-6397 files

LLVM/project d1b4a12 — llvm/test/Analysis/CostModel/AMDGPU fptoui.ll fptosi.ll

[NFC][AMDGPU] Add cost tests for narrow integer to fp casts

Covers integer sources from a byte to 31 bits converted to half, float,
bfloat and double, as vector lanes and as scalars, over the subtarget
combinations that change the expansion. The existing cast tests get the
same subtarget coverage and the cases they were missing. The costs
recorded here are the ones the model reports today.
DeltaFile
+642-0llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+241-0llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+32-84llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+17-10llvm/test/Analysis/CostModel/AMDGPU/cast.ll
+11-6llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
+11-6llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
+954-1066 files

LLVM/project 2b36bf1 — llvm/test/Analysis/CostModel/AMDGPU expanded-int-fp-casts.ll narrow-int-to-bfloat.ll

apply review
DeltaFile
+545-483llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-fp.ll
+189-189llvm/test/Analysis/CostModel/AMDGPU/narrow-int-to-bfloat.ll
+15-15llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
+749-6873 files

LLVM/project 82f8753 — llvm/utils wciia.py unicode-case-fold.py, llvm/utils/testgen mc-bundling-x86-gen.py

[llvm] Unify python shebangs (#187255)

As per PEP-0394[1], there is no real concensus over what binary names
Python has, specifically 'python' could be Python 3, Python 2, or not
exist.

However, everyone has a python3 interpreter and the scripts are all
written for Python 3. Unify the shebangs so that the ~50% of shebangs
that use python now use python3.

[1] https://peps.python.org/pep-0394/
DeltaFile
+1-1llvm/utils/wciia.py
+1-1llvm/utils/unicode-case-fold.py
+1-1llvm/utils/testgen/mc-bundling-x86-gen.py
+1-1llvm/utils/sort_includes.py
+1-1llvm/utils/shuffle_select_fuzz_tester.py
+1-1llvm/utils/shuffle_fuzz.py
+6-667 files not shown
+73-7373 files

FreeBSD/ports 8e42e31 — science/PETSc Makefile

science/PETSc: optionalize indices on 64 bits to chase METIS
DeltaFile
+10-4science/PETSc/Makefile
+10-41 files

FreeBSD/ports 9b64ddb — math/parmetis Makefile

math/parmetis: switch integers size to 32 bits by default

Same reason than math/metis.
DeltaFile
+10-6math/parmetis/Makefile
+10-61 files