OpenZFS/src ccc9023lib/libzfs libzfs_pool.c, man/man1 zhack.1

mmp: tell a failed uberblock claim apart from remote activity

When the claim could not write to every device the config expects
present, spa_activity_check_claim() replaced the error from
mmp_claim_uberblock() with EREMOTEIO, so an operator whose peer died
together with its mirror legs was told another host holds the pool,
which sends them looking for a host that is not there.

Report the cause instead.  A shortfall has two causes worth telling
apart, so mmp_claim_uberblock() now counts the writes it issues
alongside the ones that succeed.  A leaf the config expects present but
which cannot be written is never issued one, so too few issued means a
device is absent, which persists across retries and is what
"zhack mmp reclaim" recovers; that returns ENODEV.  Enough issued but
too few good means the writes reached present devices and failed, which
a retry may clear; that stays EIO.  The issued count is gated exactly as
the good count is so the two describe the same set of leaves.

Both get a case in spa_ld_activity_result() and both still return

    [28 lines not shown]
DeltaFile
+37-8module/zfs/mmp.c
+40-3module/zfs/spa.c
+28-1lib/libzfs/libzfs_pool.c
+18-3tests/zfs-tests/tests/functional/mmp/mmp_zhack_reclaim.ksh
+2-6tests/zfs-tests/tests/functional/mmp/mmp_degraded_import.ksh
+3-2man/man1/zhack.1
+128-236 files

OpenZFS/src b64a7fdtests/runfiles linux.run, tests/zfs-tests/tests Makefile.am

ZTS: add coverage for zhack mmp reclaim

Six scenarios: a stranded pool is recovered and the claim then accepts
it, a live host sharing a leg is still refused, both top-level vdevs
are counted after a recovery, a pool without multihost is left alone,
a log vdev leg is not touched, and a raidz member is not touched.

Every recovery assertion re-imports as a third hostid.  zhack exports
cleanly under its own hostid, so importing again as the same host
takes the exported-and-matching-hostid path, skips the activity check
entirely, and would leave the claim unexercised and the test vacuous.

The assertions read req_writes and good_writes from the claim's own
dbgmsg line, which 20176224e added.  That is the only observable of
the claim arithmetic, at the cost of coupling the test to a debug
message this change does not control.

mmp_pool_destroy() used a bare "pgrep zhack", which matches any
process whose name merely contains zhack.  A ksh script named

    [6 lines not shown]
DeltaFile
+290-0tests/zfs-tests/tests/functional/mmp/mmp_zhack_reclaim.ksh
+9-2tests/zfs-tests/tests/functional/mmp/mmp.kshlib
+1-1tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+301-34 files

OpenZFS/src 4304062cmd zhack.c, include/sys mmp.h

zhack: add "mmp reclaim" to recover a pool stranded by MMP

When a host fails together with the mirror legs attached to it, the
surviving labels still describe those legs as present, so the MMP
uberblock claim keeps demanding a write to every one of them and no
later import can satisfy it.  The pool cannot be imported by any host
again.

Add "zhack mmp reclaim", which imports once with the claim's required
write count relaxed for the mirror legs this host cannot open, marks
those leaves offline so that the ordinary imports which follow
succeed, and exports.

The relaxation is confined to userspace.  mmp_claim_relaxed is
declared under #ifndef _KERNEL, and module/Kbuild.in builds the module
with -D_KERNEL, so the flag cannot exist in a kernel module.  libzpool
does not define _KERNEL and so gets the check.  This follows the
zfeature_checks_disable pattern zhack already uses around the same
import, and is stronger, since that flag does exist in the kernel.

    [20 lines not shown]
DeltaFile
+178-0cmd/zhack.c
+58-2man/man1/zhack.1
+29-0module/zfs/mmp.c
+5-0include/sys/mmp.h
+270-24 files

FreeBSD/ports c1a80efnet/deltachat-rpc-server Makefile.crates

net/deltachat-rpc-server: Remove unwanted artifacts from Makefile.crates
DeltaFile
+0-6net/deltachat-rpc-server/Makefile.crates
+0-61 files

Illumos/gate 9b74813usr/src/uts/intel/io/vmm vmm_vm.c

18314 vmc_space_unmap() iterates the held-pages list with the wrong object
Reviewed by: ixi meow <illumos at iximeow.net>
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Dan Cross <cross at oxidecomputer.com>
Reviewed by: Michael Zeller <mike at mikezeller.net>
Approved by: Dan McDonald <danmcd at edgecast.io>
DeltaFile
+3-1usr/src/uts/intel/io/vmm/vmm_vm.c
+3-11 files

LLVM/project 7e8f40blibc/src/__support/CPP expected.h, libc/src/__support/OSUtil/linux/stat stat_via_statx.h

[libc] Implement expected<void, E> and use it in internal utilities (#215020)

Add the expected<void, E> partial template specialization to support
functions that return an error on failure and nothing on success,
matching std::expected<void, E>.

I've used this to resolve a TODO in if_nameindex and converted a few
other simple internal functions (pwd_utils::open/close,
update_from_seconds, stat_via_statx).

Assisted by Gemini.
DeltaFile
+62-0libc/test/src/__support/CPP/expected_test.cpp
+23-0libc/src/__support/CPP/expected.h
+5-5libc/src/__support/OSUtil/linux/stat/stat_via_statx.h
+4-4libc/src/pwd/pwd_utils.cpp
+3-4libc/src/net/linux/if_nameindex_impl.h
+2-2libc/src/time/time_utils.h
+99-155 files not shown
+106-2211 files

LLVM/project 64285f6mlir/include/mlir/Interfaces IndexingMapOpInterface.h

[mlir] Remove dead declaration verifyIndexingMapOpInterface (#215478)

The declaration was added on June 23, 2025 in commit
d31ba5256327d30f264c2f671bf197877b242cde without a corresponding
function definition.
DeltaFile
+0-7mlir/include/mlir/Interfaces/IndexingMapOpInterface.h
+0-71 files

FreeBSD/poudriere 121d9e8src/share/poudriere common.sh

Merge pull request #1363 from acts-1631/fix/pkgname-staging-validation

Reject unsafe PKGNAME values before package staging
DeltaFile
+22-0src/share/poudriere/common.sh
+22-01 files

LLVM/project ff1bb9butils/bazel/llvm-project-overlay/libc BUILD.bazel

Revert "[libc][bazel] Remove full-build dependency from __support_libc_assert" (#215601)

Reverts llvm/llvm-project#215588

it is breaking other libc tests
DeltaFile
+3-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+3-01 files

NetBSD/pkgsrc Bt1R0vzdoc CHANGES-2026

   doc: Updated www/php-contao-manager to 1.10.17
VersionDeltaFile
1.5178+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc fd0QIbHwww/php-contao-manager Makefile distinfo

   www/php-contao-manager: update to 1.10.17

   * Replace Algolia search index with custom packages index (#930)
VersionDeltaFile
1.24+4-4www/php-contao-manager/distinfo
1.27+2-2www/php-contao-manager/Makefile
+6-62 files

NetBSD/pkgsrc gXRXyuvdoc CHANGES-2026

   doc: Updated graphics/ruby-mini-magick to 5.3.3
VersionDeltaFile
1.5177+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc RAaZYNLgraphics/ruby-mini-magick Makefile distinfo

   graphics/ruby-mini-magick: update to 5.3.3

   5.3.3 (2026-08-06)

   * Restored support for passing an IO object such as StringIO as :stdin to
     MiniMagick::Tool#call, which got broken in 5.3.2 when Open3.capture3 was
     replaced with Open3.popen3 for manual timeouts.
VersionDeltaFile
1.39+4-4graphics/ruby-mini-magick/distinfo
1.38+2-2graphics/ruby-mini-magick/Makefile
+6-62 files

LLVM/project fd615b6llvm/test/CodeGen/AMDGPU merge-tbuffer-gfx12.mir merge-tbuffer-gfx10.mir

Remove dummy function
DeltaFile
+189-332llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx11.mir
+127-232llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx9.mir
+127-231llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx12.mir
+127-231llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx10.mir
+570-1,0264 files

LLVM/project 10936a1llvm/lib/Target/AMDGPU SILoadStoreOptimizer.cpp, llvm/test/CodeGen/AMDGPU merge-tbuffer-gfx12.mir merge-tbuffer-gfx10.mir

[AMDGPU] Gate TBUFFER merging on relaxed OOB mode
DeltaFile
+75-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx11.mir
+57-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx9.mir
+56-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx12.mir
+56-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx10.mir
+6-0llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
+250-05 files

NetBSD/pkgsrc rFsRIVmdoc CHANGES-2026

   doc: Updated graphics/ruby-RMagick to 7.1.1
VersionDeltaFile
1.5176+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc vk1DS4tgraphics/ruby-RMagick Makefile distinfo

   graphics/ruby-RMagick: update to 7.1.1

   7.1.1 (2026-08-06)

   Bug Fixes

   * Fix Strings being recycled while the C pointers into them are in use by
     @Watson1978 in #1847
VersionDeltaFile
1.92+4-4graphics/ruby-RMagick/distinfo
1.209+2-2graphics/ruby-RMagick/Makefile
+6-62 files

LLVM/project 9afe775llvm/lib/Target/RISCV RISCVZacasABIFix.cpp

[RISCV] Fix -Wunused-variable in #214866 (#215581)

ST was unused (outside of assertions) as a class member, and it turns
out we can just make the implementation common for what the ST is
actually used for.
DeltaFile
+4-3llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
+4-31 files

NetBSD/pkgsrc 0HRb7uqdoc CHANGES-2026

   doc: Updated finance/ruby-braintree to 4.40.0
VersionDeltaFile
1.5175+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc tlta9ppfinance/ruby-braintree PLIST Makefile

   finance/ruby-braintree: update to 4.40.0

   4.40.0 (2026-08-05)

   * Add EmailFormatIsInvalid (92963) and EmailIsTooLong (92964) validation
     error codes to PayPalAccount
   * Add network to three_d_secure_pass_thru across Transaction.sale,
     CreditCard, Customer, PaymentMethod, and CreditCardVerification, with
     ThreeDSecurePassThru::Network constants (Eftpos, Mastercard, Visa)
   * Fix path traversal vulnerability in Dispute and Address gateways by
     validating that IDs used in request paths do not contain path separators
     or relative-path segments
VersionDeltaFile
1.41+4-4finance/ruby-braintree/distinfo
1.38+2-2finance/ruby-braintree/Makefile
1.24+2-1finance/ruby-braintree/PLIST
+8-73 files

NetBSD/pkgsrc jbTFUjmdoc CHANGES-2026

   Updated devel/py-gitpython, misc/py-pbs-installer
VersionDeltaFile
1.5174+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc tam65qNdoc CHANGES-2026

   doc: Updated devel/ruby-simplecov to 1.1.0
VersionDeltaFile
1.5173+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc aO1sjUGdevel/ruby-simplecov Makefile distinfo

   devel/ruby-simplecov: update to 1.1.0

   1.1.0 (2026-08-10)

   What's Changed

   * Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #1243
   * Bump ruby/setup-ruby from 1.318.0 to 1.320.0 by @dependabot[bot] in #1242
   * Improve collate performance by @danielwestendorf in #1244
   * Bump ruby/setup-ruby from 1.320.0 to 1.321.0 by @dependabot[bot] in #1247
   * Make the HTML report a single self-contained index.html by @sferik in
     #1245
   * Cut unloaded-file injection cost, fix 100% coverage in merged reports by
     @sferik in #1252
   * Stop matching the :nocov: regex twice on every classified line by
     @andriytyurnikov in #1253
   * Absorb resultsets into one accumulator instead of folding pairwise by
     @andriytyurnikov in #1254
   * Inject unloaded files once at the merge point, not once per process by

    [12 lines not shown]
VersionDeltaFile
1.19+24-10devel/ruby-simplecov/PLIST
1.28+4-4devel/ruby-simplecov/distinfo
1.31+2-2devel/ruby-simplecov/Makefile
+30-163 files

NetBSD/pkgsrc Yt8lN9Omisc/py-pbs-installer Makefile distinfo

   py-pbs-installer: updated to 2026.8.7

   2026.8.7
   Unknown changes
VersionDeltaFile
1.22+4-4misc/py-pbs-installer/distinfo
1.22+2-2misc/py-pbs-installer/Makefile
+6-62 files

LLVM/project a558267compiler-rt/lib/scudo/standalone wrappers_c.cpp

[scudo] Remove malloc_enable_child from API. (#215439)

The malloc_enable_child does not need to be a public API, instead move
the function to be static and reference it that way.
DeltaFile
+3-4compiler-rt/lib/scudo/standalone/wrappers_c.cpp
+3-41 files

OPNSense/plugins 38e6e15security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry send_telemetry.py

security/etpro-telemetry - change to fire and forget, remove exit codes in send_telemetry.py
DeltaFile
+1-19security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry/send_telemetry.py
+1-191 files

NetBSD/pkgsrc lqOSnEldoc CHANGES-2026

   doc: Updated devel/ruby-async to 2.44.1
VersionDeltaFile
1.5172+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc LAyL09edevel/ruby-async Makefile distinfo

   devel/ruby-async: update to 2.44.1

   2.44.1 (2026-08-05)

   * Improve Async and Sync documentation. (#465)
VersionDeltaFile
1.49+4-4devel/ruby-async/distinfo
1.53+2-2devel/ruby-async/Makefile
+6-62 files

LLVM/project 4ef2427llvm/lib/Target/RISCV RISCVZilsdOptimizer.cpp, llvm/test/CodeGen/RISCV zilsd-ldst-opt-prera.mir zilsd.ll

[RISCV] Avoid pre-RA Zilsd pairs with same src/dst registers (#215575)

The pre-RA Zilsd optimizer previously allowed a special case for stores
where both source operands were the same vreg if that vreg was defined
by COPY $x0. This assumes register allocation will preserve the value as
x0, but that is not guaranteed. The vreg can be allocated to a normal
GPR, producing an invalid pair.
DeltaFile
+45-10llvm/test/CodeGen/RISCV/zilsd.ll
+1-15llvm/lib/Target/RISCV/RISCVZilsdOptimizer.cpp
+2-1llvm/test/CodeGen/RISCV/zilsd-ldst-opt-prera.mir
+48-263 files

NetBSD/pkgsrc kHDIYQ4devel/py-gitpython Makefile distinfo

   py-gitpython: updated to 3.1.59

   3.1.59

   Security fixes for

   * https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-5xxx-qhh7-9287
   * https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-3wxw-xv34-2frg
   * https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-8mcc-hrx5-hvxc
   * https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-284h-m62q-gf8w
   * https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-7833-fr7j-v32q
VersionDeltaFile
1.32+4-4devel/py-gitpython/distinfo
1.36+2-2devel/py-gitpython/Makefile
+6-62 files