zfs/module/os/linux/spl
Andrea Righi 3602775330
Linux 6.5 compat: spl: properly unregister sysctl entries
When register_sysctl_table() is unavailable we fail to properly
unregister sysctl entries under "kernel/spl".

This leads to errors like the following when spl is unloaded/reloaded,
making impossible to properly reload the spl module:

[  746.995704] sysctl duplicate entry: /kernel/spl/kmem/slab_kvmem_total

Fix by cleaning up all the sub-entries inside "kernel/spl" when the
spl module is unloaded.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Closes #15239
2023-09-07 14:36:32 -07:00
..
README.md
THIRDPARTYLICENSE.gplv2
THIRDPARTYLICENSE.gplv2.descrip
spl-atomic.c
spl-condvar.c Fix declarations of non-global variables 2022-10-18 11:05:32 -07: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: Never sleep in kmem_cache_alloc(..., KM_NOSLEEP) (#14926) 2023-06-07 10:43:43 -07:00
spl-kmem.c
spl-kstat.c Cleanup: Switch to strlcpy from strncpy 2022-09-27 16:35:29 -07:00
spl-proc.c Linux 6.5 compat: spl: properly unregister sysctl entries 2023-09-07 14:36:32 -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-taskq.c Add a delay to tearing down threads. 2023-06-26 13:57:12 -07:00
spl-thread.c Cleanup of dead code suggested by Clang Static Analyzer (#14380) 2023-01-17 09:57:12 -08:00
spl-trace.c
spl-tsd.c Linux SPL module init: Handle memory allocation failures correctly 2022-09-08 10:28:20 -07:00
spl-vmem.c
spl-xdr.c
spl-zlib.c Linux SPL module init: Handle memory allocation failures correctly 2022-09-08 10:28:20 -07:00
spl-zone.c Cleanup: Use C99 flexible array members instead of zero length arrays 2023-01-12 15:59:41 -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