Create thick zvols with refreservation=auto
libzfs now resolves refreservation=auto in zfs_create() (openzfs/zfs
PR #19227), so a thick volume gets the reservation `zfs create -V`
would set, the volsize plus metadata and raidz/draid overhead, and
libzfs grows it along with the volsize. Default to it at creation
instead of reserving exactly the volsize, accept an explicit 'auto'
the way zfs.resource.set already does, and reject it for a filesystem
with the same error.
Volumes created by earlier releases keep reserving exactly their
volsize until they are grown, which apply_thick_follow() still turns
into auto. The tests compare against a reference `zfs create -V`
volume through a shared helper, and one covers the legacy case.
interfaces: remove system_routing_configure() #9352
The function is called via $reload hook so adding another
hook makes no sense. This may have changed since the original
commit below and since we need to priv-sep these calls the
easiest way is to remove it. ;)
See also: https://github.com/pfsense/pfsense/commit/8e11b23f541d
[clang][OpenMP] Add no-loop SPMD kernel promotion
A target teams distribute parallel for that is guaranteed a thread for
every iteration does not need the loop around its body. Flang already
drops it and runs the region as a no-loop kernel.
Enable the same optimization for Clang through mirroring Flang's MLIR
promotion using OpenMPIRBuilder. The kernel is tagged SPMD_NO_LOOP, so
the runtime sizes the grid to the iteration space, and the body is
emitted without a loop around it. The canonical loop it consumes is
reconstructed in the no-loop branch rather than taken from an
OMPCanonicalLoop node, so the promotion does not require
-fopenmp-enable-irbuilder.
Restrict offload entry creation to module level finalize, preventing
asserts on missing offload entries from nested CodeGenFunction
finalizing before module completion.
[clang][OpenMP] Add no-loop SPMD kernel promotion
A target teams distribute parallel for that is guaranteed a thread for
every iteration does not need the loop around its body. Flang already
drops it and runs the region as a no-loop kernel.
Enable the same optimization for Clang through mirroring Flang's MLIR
promotion using OpenMPIRBuilder. The kernel is tagged SPMD_NO_LOOP, so
the runtime sizes the grid to the iteration space, and the body is
emitted without a loop around it. The canonical loop it consumes is
reconstructed in the no-loop branch rather than taken from an
OMPCanonicalLoop node, so the promotion does not require
-fopenmp-enable-irbuilder.
Restrict offload entry creation to module level finalize, preventing
asserts on missing offload entries from nested CodeGenFunction
finalizing before module completion.