OpenZFS/src 2829153module/zstd README.md

Zstd: Document update policy

Add the Zstd update policy to the subtree README.

Also update the documented location of zstd-in.c to match upstream
changes, and normalize naming from 'ZSTD' to 'Zstd'.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18089
DeltaFile
+31-13module/zstd/README.md
+31-131 files

OpenZFS/src 2d5a9b6module/zstd/lib/common allocations.h bits.h

Zstd: Restore SPDX license identifiers

When updating Zstandard to version 1.5.7 the SPDX license identifiers
were lost. This commit restores them.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18089
DeltaFile
+1-0module/zstd/lib/common/allocations.h
+1-0module/zstd/lib/common/bits.h
+1-0module/zstd/lib/common/bitstream.h
+1-0module/zstd/lib/common/compiler.h
+1-0module/zstd/lib/common/cpu.h
+1-0module/zstd/lib/common/debug.h
+6-053 files not shown
+59-059 files

OpenZFS/src e7f9734module/zstd zfs_zstd.c

Zstd: Fix ASan poisoning for pooled Zstd contexts

The Zstd context mempool can reuse buffers that were previously poisoned
under AddressSanitizer, leading to false-positive use-after-poison reports
during zloop and other stress tests.

Explicitly unpoison memory when handing buffers out to Zstd and poison the
user-visible region again when buffers are returned to the pool. This makes
the allocator ASan-correct while preserving existing pooling behavior.

Also fix non-standard void * pointer arithmetic in zstd_free() and remove an
early return in zstd_dctx_alloc() so kmem_type/kmem_size are always set on
pool hits.

This only affects ASan bookkeeping in user space, does not change runtime
behavior in non-ASan configurations, and does not affect on-disk formats.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18089
DeltaFile
+27-7module/zstd/zfs_zstd.c
+27-71 files

OpenZFS/src a2ac9cdlib/libzstd Makefile.am, module Kbuild.in Makefile.bsd

Zstd: Integrate v1.5.7 into the ZFS build system

This commit builds on the previous zstd library update and adds the
necessary ZFS integration and build system changes required to make
zstd 1.5.7 compile and function correctly.

Changes:
- Add zstd_preSplit.c (new in 1.5.7) to all build systems.
- Enable x86_64 assembly in userspace (huf_decompress_amd64.S).
- Disable assembly in kernel for RETHUNK/IBT compatibility.
- Disable intrinsics in kernel for EL10 x86_64-v3 baseline.
- Disable tracing in kernel builds for AArch64 compatibility.
- Fix ZSTD_isError symbol renaming with __asm__ directive.
- Rename abs64 to ZSTD_abs64 (FreeBSD kernel conflict).
- Fix bitstream.h attributes (MEM_STATIC -> FORCE_INLINE_TEMPLATE).
- Remove xxhash.c from BSD build (now header-only).
- Update symbol names in zstd_compat_wrapper.h.
- Ignore checkstyle for zstd-in.c.


    [6 lines not shown]
DeltaFile
+199-188module/zstd/include/zstd_compat_wrapper.h
+10-0module/Kbuild.in
+3-3module/zstd/lib/compress/zstd_preSplit.c
+6-0lib/libzstd/Makefile.am
+2-2module/Makefile.bsd
+2-2module/zstd/lib/common/bitstream.h
+222-1952 files not shown
+224-1958 files

OpenZFS/src bbcddb1module/zstd/lib zstd.h, module/zstd/lib/common xxhash.h

Zstd: Update bundled library to v1.5.7 without further adjustments

This commit only replaces the bundled source and does not include any
ZFS integration changes. Because the build depends on integration
adjustments, it will fail until the accompanying integration commit is
applied.

Upstream release: https://github.com/facebook/zstd/releases/tag/v1.5.7

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Moch <mail at alexmoch.com>
Closes #18089
DeltaFile
+7,037-229module/zstd/lib/common/xxhash.h
+4,698-1,134module/zstd/lib/compress/zstd_compress.c
+1,288-593module/zstd/lib/decompress/huf_decompress.c
+1,478-371module/zstd/lib/zstd.h
+1,391-335module/zstd/lib/compress/zstd_lazy.c
+1,173-403module/zstd/lib/decompress/zstd_decompress_block.c
+17,065-3,06556 files not shown
+26,386-7,87262 files

OpenZFS/src 54b141fmodule Makefile.bsd, module/os/freebsd/zfs zfs_vnops_os.c

FreeBSD: Remove references to DEBUG_VFS_LOCKS

This option is removed upstream in favour of plain INVARIANTS.

VNASSERT is always defined so I see no reason to use it conditionally.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Mark Johnston <markj at FreeBSD.org>
Closes #18136
DeltaFile
+2-12module/os/freebsd/zfs/zfs_vnops_os.c
+0-5module/Makefile.bsd
+2-172 files

OpenZFS/src 8605bdfmodule/zfs vdev.c, tests/zfs-tests/cmd mmap_seek.c

FreeBSD: unbreak compilation on i386

tests/zfs-tests/cmd/mmap_seek.c: use correct printf specifier
module/zfs/vdev.c: vdev_clear(): correctly cast argument to
atomic_add_64().

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Closes #18096
DeltaFile
+1-1module/zfs/vdev.c
+1-1tests/zfs-tests/cmd/mmap_seek.c
+2-22 files

OpenZFS/src 3fffe4emodule Makefile.in

Fix --enable-invariants on FreeBSD

The make symbols were never getting forwarded to the correct make
subprocess.  As far as I can tell, this has never worked.  Either that,
or something has changed in the behavior of make.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alan Somers <asomers at gmail.com>
Closes #18131
DeltaFile
+3-2module/Makefile.in
+3-21 files

OpenZFS/src 09e4e01module/zfs zfs_ioctl.c, tests/zfs-tests/tests/functional/cli_root/zpool_create zpool_create_tempname.ksh

Fix history logging for `zpool create -t`

`zpool create` is supposed to log the command to the new pool’s history,
as a special record that never gets evicted from the ring buffer. but
when you create a pool with `zpool create -t`, no such record is ever
logged (#18102). that bug may be the cause of issues like #16408.

`zpool create -t` (83e9986f6eefdf0afc387f06407087bba3ead4e9) and `zpool
import -t` (26b42f3f9d03f85cc7966dc2fe4dfe9216601b0e) are both designed
to override the on-disk zpool property `name` with an in-core
“temporary” name, but they work somewhat differently under the hood.

importing with a temporary name sets `spa->spa_import_flags |=
ZFS_IMPORT_TEMP_NAME` in ZFS_IOC_POOL_IMPORT, which tells
spa_write_cachefile() and spa_config_generate() to use the
ZPOOL_CONFIG_POOL_NAME in `spa->spa_config` instead of `spa->spa_name`.

creating with a temporary name permanently(!) sets the internal zpool
property `tname` (ZPOOL_PROP_TNAME) in the `zc->zc_nvlist_src` of

    [17 lines not shown]
DeltaFile
+8-2module/zfs/zfs_ioctl.c
+2-0tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_tempname.ksh
+10-22 files

OpenZFS/src 765929cinclude/sys ddt.h, module/zfs ddt.c

DDT: Add locking for table ZAP destruction

Similar to BRT, DDT ZAP can be destroyed by sync context when it
becomes empty.  Respectively similar to BRT introduce RW-lock to
protect open context methods from the destruction.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Motin <alexander.motin at TrueNAS.com>
Closes #18115
DeltaFile
+76-23module/zfs/ddt.c
+3-0include/sys/ddt.h
+79-232 files

OpenZFS/src 1051c3dscripts spdxcheck.pl

spdxcheck: enforce SPDX license tags on build system files

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18077
DeltaFile
+17-8scripts/spdxcheck.pl
+17-81 files

OpenZFS/src 85391ee. Makefile.am autogen.sh, cmd Makefile.am

build: add SPDX license tags to build system files

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18077
DeltaFile
+1-0Makefile.am
+1-0autogen.sh
+1-0cmd/Makefile.am
+1-0cmd/raidz_test/Makefile.am
+1-0cmd/zdb/Makefile.am
+1-0cmd/zed/Makefile.am
+6-0206 files not shown
+212-0212 files

OpenZFS/src aca58dbmodule/os/linux/zfs zpl_export.c

Add fh_to_parent export definition

This commit adds support for converting a file handle to its
parent dentry. This is called in exportfs_decode_fh_raw()
when subtree checking is enabled in NFS. Defining this and
handling the expanded filehandles allows the knfsd to succeed
in handling the file handle where it might otherwise fail
with ESTALE when trying to open by filehandle.

A side effect of this change is that name_to_handle_at(2)
and open_by_handle_at(2) now support AT_HANDLE_CONNECTABLE.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Signed-off-by: Andrew Walker <andrew.walker at truenas.com>
Closes #18099
DeltaFile
+82-7module/os/linux/zfs/zpl_export.c
+82-71 files

OpenZFS/src f2b4ed3module/os/linux/spl spl-trace.c

spl: remove a _KERNEL check

This code is only compiled for the Linux kernel module, so that define
is always set.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18117
DeltaFile
+0-2module/os/linux/spl/spl-trace.c
+0-21 files

OpenZFS/src 02a6311module/os/linux/spl spl-kstat.c

spl: unexport kstat_proc_entry functions

These are used to implement the kstat and procfs_list interfaces, and
aren't used from outside. There's no need to export them.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18117
DeltaFile
+0-3module/os/linux/spl/spl-kstat.c
+0-31 files

OpenZFS/src 662f33fmodule Kbuild.in, module/os/linux/spl spl-math-compat.c spl-generic.c

spl: lift 64-bit math compat out to separate file

It's a lot of rarely-compiled code, so move it to the side to make other
code easier to read.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18117
DeltaFile
+275-0module/os/linux/spl/spl-math-compat.c
+0-258module/os/linux/spl/spl-generic.c
+8-0module/Kbuild.in
+283-2583 files

OpenZFS/src 2ca6e88module Kbuild.in, module/os/linux/spl spl-atomic.c

spl: remove old atomic lock

Long ago, SPL atomics were implemented as a global spinlock over
conventional operations. In 5e9b5d832b (2009-10) they was converted to
proper atomics, with the spinlock retained as a fallback.

The switch to compile with the fallback was later removed in a91258913f
(2018-05), but the code it enabled wasn't. So lets do that.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18117
DeltaFile
+0-36module/os/linux/spl/spl-atomic.c
+0-1module/Kbuild.in
+0-372 files

OpenZFS/src 2f1f252module/icp/asm-x86_64/modes aesni-gcm-avx2-vaes.S aesni-gcm-x86_64.S

icp: emit .note.GNU-stack section for all ELF targets

On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows
the following warning:

    ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section
    implies executable stack
    ld: NOTE: This behaviour is deprecated and will be removed in a
    future version of the linker

Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether
to emit the `.note.GNU-stack` section using:

    #if defined(__linux__) && defined(__ELF__)

We could add `&& defined(__FreeBSD__)` to the test, but since all other
`.S` files in the OpenZFS tree use:

    #ifdef __ELF__

    [6 lines not shown]
DeltaFile
+1-1module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S
+1-1module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S
+1-1module/icp/asm-x86_64/modes/ghash-x86_64.S
+3-33 files

OpenZFS/src 794f158module/zfs dmu_recv.c, tests/runfiles common.run

When receiving a stream with the large block flag, activate feature

ZFS send streams include a feature flag DMU_BACKUP_FEATURE_LARGE_BLOCKS
to indicate the presence of large blocks in the dataset. On the sending
side, this flag is included if the `-L` flag is passed to `zfs send`
and the feature is active in the dataset. On the receive side, the
stream is refused if the feature is active in the destination dataset
but the stream does not include the feature flag.

The problem is the feature is only activated when a large block is
born. If a large block has been born in the destination, but never
the source, the send can't work. This can arise when sending streams
back and forth between two datasets.

This commit fixes the problem by always activating the large blocks
feature when receiving a stream with the large block feature flag.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Austin Wise <AustinWise at gmail.com>
Closes #18105
DeltaFile
+86-0tests/zfs-tests/tests/functional/rsend/send_large_blocks_initial.ksh
+83-0tests/zfs-tests/tests/functional/rsend/send_large_blocks_incremental.ksh
+16-0module/zfs/dmu_recv.c
+2-0tests/zfs-tests/tests/Makefile.am
+1-0tests/runfiles/common.run
+188-05 files

OpenZFS/src 2301755module/os/freebsd/zfs zfs_vnops_os.c, module/os/linux/zfs zfs_vnops_os.c

Fix zfs_open() to skip zil_async_to_sync() for the snapshot

Fix zfs_open() to skip zil_async_to_sync() for the snapshot, as it won't
have any transactions. zfsvfs->z_log is NULL for the snapshot.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Jitendra Patidar <jitendra.patidar at nutanix.com>
Closes #18091
DeltaFile
+3-2module/os/freebsd/zfs/zfs_vnops_os.c
+3-2module/os/linux/zfs/zfs_vnops_os.c
+6-42 files

OpenZFS/src c77f17blib/libzfs libzfs_dataset.c, man/man7 zfsprops.7

Add snapshots_changed_nsecs dataset property

Add a read-only dataset property, snapshots_changed_nsecs, which 
exposes the nanosecond resolution version of snapshots_changed.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Wolfgang Hoschek <wolfgang.hoschek at mac.com>
Closes #17998
Closes #18031
DeltaFile
+43-9tests/zfs-tests/tests/functional/snapshot/snapshot_018_pos.ksh
+13-0lib/libzfs/libzfs_dataset.c
+9-0man/man7/zfsprops.7
+8-0module/zfs/zcp_get.c
+7-1module/zfs/dsl_dataset.c
+6-0module/zcommon/zfs_prop.c
+86-102 files not shown
+89-118 files

OpenZFS/src 6eef5cdtests/runfiles common.run, tests/zfs-tests/tests Makefile.am

ZTS: add regression test for #17180

In #17180, we fixed an interesting bug that i believe i hit in one of my
pools, but as far as i can tell, there was no test for it.

this patch adds a regression test for #17180, minimised from my attempts
to reproduce the bug in a way that resembled the history of my pool.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Adam Moss <c at yotes.com>
Signed-off-by: delan azabani <dazabani at igalia.com>
Closes #18109
DeltaFile
+61-0tests/zfs-tests/tests/functional/block_cloning/block_cloning_after_device_removal.ksh
+2-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+64-13 files

OpenZFS/src 2dbd6afinclude/os/freebsd/spl/sys cmn_err.h kmem.h, include/sys spa.h vdev.h

Rename several printf attributes declarations to __printf__

For kernel builds on FreeBSD, we redefine `__printf__` to
`__freebsd_kprintf__`, to support FreeBSD kernel printf(9) extensions
with clang.

In OpenZFS various printf related functions are declared with
`__attribute__((format(printf, X, Y)))`, so these won't work with the
above redefinition. With clang 21 and higher, this leads to errors
similar to:

    sys/contrib/openzfs/module/zfs/spa_misc.c:414:38: error: passing
    'printf' format string where 'freebsd_kprintf' format string is
    expected [-Werror,-Wformat]
      414 |         (void) vsnprintf(buf, sizeof (buf), fmt, adx);
          |                                             ^

Since attribute names can always be spelled with leading and trailing
double underscores, rename these instances.

    [7 lines not shown]
DeltaFile
+8-8include/os/freebsd/spl/sys/cmn_err.h
+2-2include/os/freebsd/spl/sys/kmem.h
+2-2include/sys/spa.h
+1-1include/sys/vdev.h
+1-1include/sys/zfs_debug.h
+14-145 files

OpenZFS/src 312bdabmodule/os/linux/zfs zpl_inode.c zfs_vnops_os.c

Add handling for STATX_CHANGE_COOKIE

This commit adds handling for the STATX_CHANGE_COOKIE so that
we can properly surface the ZFS znode sequence to NFS clients via
knfsd.

If knfsd does not have STATX_CHANGE_COOKIE in statx result then
it will synthesize the NFS change_info4 structure and related
change4id values algorithmically based on the ctime value of the
file. Since internally ZFS is using ktime_get_coarse_real_ts64()
for the timestamp calculation here it introduces the possiblity
that the change will not increment the change4id of directories
/ files causing a failure in the client to invalidate its attr
cache (among other things). See RFC 8881 Section 10.8 for
discussion of how clients may implement name and directory
caching.

Notable in this commit is that we are not initializing the
inode->i_version to the znode->z_seq number. The reason for this

    [27 lines not shown]
DeltaFile
+26-0module/os/linux/zfs/zpl_inode.c
+12-1module/os/linux/zfs/zfs_vnops_os.c
+38-12 files

OpenZFS/src a1319bfmodule/os/linux/spl spl-kmem-cache.c

kmem: don't add __GFP_RECLAIMABLE for KM_VMEM allocations

vmalloc()'d memory is not movable/reclaimable, so __GFP_RECLAIMABLE is
not a valid flag, and since 6.19 the kernel warns if you use it.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18107
DeltaFile
+1-3module/os/linux/spl/spl-kmem-cache.c
+1-31 files

OpenZFS/src dbb3f24cmd/zfs zfs_main.c, man/man8 zfs-clone.8

cmd/zfs: clone: accept `-u` to not mount newly created datasets

Signed-off-by: Ivan Shapovalov <intelfx at intelfx.name>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Closes #18080
DeltaFile
+66-0tests/zfs-tests/tests/functional/cli_root/zfs_clone/zfs_clone_nomount.ksh
+37-29cmd/zfs/zfs_main.c
+3-1man/man8/zfs-clone.8
+1-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+108-315 files

OpenZFS/src b9b8444.github/workflows zfs-qemu.yml, .github/workflows/scripts qemu-2-start.sh qemu-3-deps-vm.sh

CI: Add Alpine Linux 3.23 runner to the pipeline (#18087)

Add an Alpine Linux 3.23 runner to the CI chain to run OpenZFS builds
and tests against musl libc.

Currently, zfs_send_sparse is killed after 10 minutes on Alpine, causing
cascading EBUSY failures in the test suite. With zfs_send_sparse
disabled, the ZFS test suite reaches a pass rate of 94.62%.

This commit introduces the required Alpine-specific setup and a small
set of shell and cloud-init compatibility fixes that also apply to
existing Linux runners.

The Alpine runner is not enabled by default and is not executed for new
pull requests.

Sponsored-by: ERNW Research GmbH - https://ernw-research.de/

Signed-off-by: Alexander Moch <amoch at ernw.de>

    [2 lines not shown]
DeltaFile
+41-7.github/workflows/scripts/qemu-2-start.sh
+44-1.github/workflows/scripts/qemu-3-deps-vm.sh
+15-7.github/workflows/scripts/qemu-5-setup.sh
+8-1.github/workflows/scripts/qemu-6-tests.sh
+8-0.github/workflows/zfs-qemu.yml
+2-1tests/zfs-tests/tests/functional/mount/mount_loopback.ksh
+118-173 files not shown
+121-209 files

OpenZFS/src e72f305cmd ztest.c

cmd/ztest: avoid `PATH_MAX` stack allocation in `ztest_get_zdb_bin()` (#18085)

Calling realpath(path, buf) can trigger fortified header wrappers that
allocate a PATH_MAX-sized temporary buffer on the stack, exceeding the
4 KiB frame limit on some systems. Use the heap-allocating
realpath(path, NULL) form instead.

Sponsored-by: ERNW Research GmbH - https://ernw-research.de/

Signed-off-by: Alexander Moch <amoch at ernw.de>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
DeltaFile
+6-1cmd/ztest.c
+6-11 files

OpenZFS/src f041375include/os/linux/spl/sys kmem.h, module/os/linux/spl spl-kmem-cache.c

kmem: don't add __GFP_COMP for KM_VMEM allocations

It hasn't been necessary since Linux 3.13
(torvalds/linux at a57a49887eb33), and since 6.19 the kernel warns if you
use it.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18053
DeltaFile
+4-1include/os/linux/spl/sys/kmem.h
+1-1module/os/linux/spl/spl-kmem-cache.c
+5-22 files

OpenZFS/src f95e306module/os/linux/spl spl-kmem.c spl-kmem-cache.c

kmem: don't pass __GFP_HIGHMEM to __vmalloc

Since Linux 4.12 (torvalds/linux at 19809c2da28ae) __GFP_HIGHMEM has been
automatically added to calls to __vmalloc() internally, so we don't need
it anymore. This is good, because since 6.19 the kernel warns if you use
__GFP_HIGHMEM.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #18053
DeltaFile
+2-2module/os/linux/spl/spl-kmem.c
+1-1module/os/linux/spl/spl-kmem-cache.c
+3-32 files