Handbook - ZFS: Rework
* Add RAID-Z expansion, dRAID, special vdevs, hot spares with zfsd, TRIM,
pool checkpoints, block cloning, fast dedup, bookmarks, holds,
resumable/corrective send, project quotas, direct I/O, and boot environments
* Add Jails and ZFS crossref target, encryption key loading at boot (zfskeys),
and a Pool Properties section
* Rewrite Tuning to drop removed sysctls (scrub_delay, vdev.cache.size,
arc.meta_limit, …); delete the obsolete ZFS-on-i386 section
* Switch examples to ada device names and GPT partitions
* Fix the inverted reservation terminology entry, zfs scrub: zpool scrub,
stale checksum/compression algorithm lists, and EOL version framing
Approved by: arrowd@, bcr@, michaelo@
Differential Revision: D58175
PR: 287148, 261212, 263321
[orc-rt] Drop callManagedCodeAsync; tokens guard execution (#210508)
callManagedCodeSync is renamed to callManagedCode, and
callManagedCodeAsync is removed.
callManagedCodeAsync held a ManagedCodeTaskGroup token from the initial
call until the async continuation ran -- across the gap in which the
call is suspended and no managed code is executing. A token is meant to
guard managed code that is executing on a stack, so holding one across
that gap guards nothing while blocking shutdown.
callManagedCode holds a token only for the synchronous call to the
wrapped function, including anything the function runs inline on the
same thread before returning. An async function is called the same way,
with its continuation passed as an ordinary argument. Work deferred past
the function's return -- stashed, or handed to another thread -- runs on
a stack the token no longer guards; whoever later runs it is responsible
for ensuring a token covers it, acquiring one and aborting if the
acquire is denied.
[3 lines not shown]
trust: use serialNumberHex for CRL so high-bit serials aren't dropped (#10559)
CrlController::setAction() built the CRL from
openssl_x509_parse()['serialNumber'], a signed decimal that is unreliable
for serials with the high bit set (first byte >= 0x80). Those serials were
passed to phpseclib as an invalid/zero value and collapsed into a single
"Serial Number: 00" entry, so the affected certificates were effectively
not revoked (e.g. OpenVPN clients could still connect). With random 128-bit
serials this silently affects roughly half of all revocations.
Use the canonical unsigned serialNumberHex via a phpseclib BigInteger,
matching the index.txt export already present in the same controller.
[Clang][Interpreter] Respect default setting on Windows
MSCV does not support the -fPIC option. When it is passed, Clang falls
back to PIC level 2 on x86_64 and to a static binary on AArch64. Without
-fPIC, however, PIC is already enabled by default on both targets.
As a result, the PCH (built with the default PIC level by toolchain
hint) and the clang-repl instance (using the fallback PIC level) end up
with different PIC settings, consuming a mismatch.
Avoid passing -fPIC when targeting MSVC on Windows. This preserve the
existing semantics, since PIC is already enabled by default, while
ensuring that both the PCH and clang-repl use the same PIC level.
geography/py-ubx2: Update to 1.3.6
Upstream NEWS, less minor improvements and bugfixes:
### RELEASE 1.3.6
1. Add `msgfilter` argument to UBXReader to allow user to filter
output by one or more message identities. If set, only filtered raw
messages will be parsed (e.g. UBX `0x0107` *(must be integer)*, NMEA
`"GNGSA"` or RTCM `1077`); the remainder will be `None`. Default is ""
(no filter). If you're only interested in specific messages, this can
significantly improve parsing speed for a given datastream.
1. Enhance `parsing` argument to UBXReader - permissible values:
- `PARSE_NONE` (0) - No message parsing, raw output only. Parsed data is `None`.
- `PARSE_FULL` (1) - Full parsing of all message attributes (the
default). Parsed data is a `UBXMessage`, `NMEAMessage` or
`RTCMMessage` object.
- `PARSE_META` (2) - Parse only basic metadata from messages
[3 lines not shown]
[AArch64][PAC] Rework the expansion of AUT/AUTPAC pseudos (#169699)
Refactor `AArch64AsmPrinter::emitPtrauthAuthResign` to improve
readability and tune the conditions when `emitPtrauthDiscriminator` is
allowed to clobber address discriminator operands.
When resigning, do not clobber address discriminator register used for
authentication if it is also used for signing. Such clobbering would
prevent passing raw, 64-bit value as the new discriminator. Clarify
other corner cases of clobbering address discriminator operands.
Reuse `enum PtrauthCheckMode` instead of separate `ShouldCheck` and
`ShouldTrap` flags and drop its `Default` enumerator.
[mlir][bufferization] Avoid invalid memref.cast in to_buffer folding (#208973)
Fixes #202782
When folding bufferization.to_buffer(bufferization.to_tensor(...)), only
create a memref.cast if the source and destination memref types are
cast-compatible.
This avoids asserting on unranked memrefs with different memory spaces
and leaves the original bufferization ops in place instead.
Assisted-by: OpenAI Codex
[lldb] Fix TestSBValueSetTypeSyntheticOverride with libstdc++ (#210495)
My test added in #209056 assumed that a `CXXSyntheticChildren`
implementation for `std::vector` is readily available on all platforms,
that is not the case.
Do the simplest thing and remove this part of the test for now.
Fixes: https://lab.llvm.org/buildbot/#/builders/59/builds/35839
```
FAIL: test (TestSBValueSetTypeSyntheticOverride.TestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/python_api/sbvalue_set_type_synthetic_override/TestSBValueSetTypeSyntheticOverride.py", line 22, in test
self.checkOverride(vec, before=None)
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/python_api/sbvalue_set_type_synthetic_override/TestSBValueSetTypeSyntheticOverride.py", line 43, in checkOverride
self.assertIsNone(impl_before)
AssertionError: <lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider object at 0xfb088f787bb0> is not None
```