zfs/module/os/linux/spl
Rob N 5d859a2e22 xdr: header cleanup
#16047 notes that include/os/freebsd/spl/rpc/xdr.h carried an
(apparently) incompatible license. While looking into it, it seems that
this file is actually unnecessary these days - FreeBSD's kernel XDR has
XDR_CONTROL, xdrmem_control and XDR_GET_BYTES_AVAIL, while userspace has
XDR_CONTROL and xdrmem_control, and our implementation of
XDR_GET_BYTES_AVAIL for libspl works nicely with it. So this removes
that file outright.

To keep the includes in nvpair.c tidy, I've made a few small adjustments
to the Linux headers. By definition, rpc/types.h provides bool_t and is
included before rpc/xdr.h, so I've created rpc/types.h for Linux. This
isn't necessary for userspace; both FreeBSD native and tirpc on Linux
already have these headers set up correctly.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16047 
Closes #16051
2024-04-29 13:50:05 -07:00
..
README.md Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
THIRDPARTYLICENSE.gplv2 OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
THIRDPARTYLICENSE.gplv2.descrip OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
spl-atomic.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-condvar.c linux spl: fix typo in top comment of spl-condvar.c 2024-01-29 14:53:29 -08:00
spl-cred.c Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
spl-err.c Fix declarations of non-global variables 2022-10-18 11:05:32 -07:00
spl-generic.c Linux: Fix octal detection in define_ddi_strtox() 2023-03-08 13:52:09 -08:00
spl-kmem-cache.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-kmem.c Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
spl-kstat.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-proc.c Linux 6.5 compat: spl: properly unregister sysctl entries 2023-09-19 08:50:01 -07:00
spl-procfs-list.c Linux 6.1 compat: change order of sys/mutex.h includes 2022-10-18 12:29:44 -07:00
spl-shrinker.c linux 6.7 compat: rework shrinker setup for heap allocations 2023-12-21 11:03:08 -08:00
spl-taskq.c Linux: Cleanup taskq threads spawn/exit 2024-04-19 10:13:38 -07:00
spl-thread.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00
spl-trace.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
spl-tsd.c Linux SPL module init: Handle memory allocation failures correctly 2022-09-08 10:28:20 -07:00
spl-vmem.c Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-xdr.c xdr: header cleanup 2024-04-29 13:50:05 -07:00
spl-zlib.c Linux SPL module init: Handle memory allocation failures correctly 2022-09-08 10:28:20 -07:00
spl-zone.c Linux 6.8 compat: implement strlcpy fallback 2024-01-29 14:53:29 -08:00

README.md

The Solaris Porting Layer, SPL, is a Linux kernel module which provides a compatibility layer used by the OpenZFS project.

Installation

The latest version of the SPL is maintained as part of this repository. Only when building ZFS version 0.7.x or earlier must an external SPL release be used. These releases can be found at:

Release

The SPL is released under a GPLv2 license.
For more details see the NOTICE and THIRDPARTYLICENSE files; UCRL-CODE-235197