mirror_zfs/module/os/linux/spl
Rob Norris d28d2e3007 linux/kstat: allow multi-level module names
Module names are mapped directly to directory names in procfs, but
nothing is done to create the intermediate directories, or remove them.
This makes it impossible to sensibly present kstats about sub-objects.

This commit loops through '/'-separated names in the full module name,
creates a separate module for each, and hooks them up with a parent
pointer and child counter, and then unrolls this on the other side when
deleting a module.

Sponsored-by: Klara, Inc.
Sponsored-by: Syneto
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
2025-03-20 16:24:50 -07:00
..
README.md Replace ZFS on Linux references with OpenZFS 2020-10-08 20:10:13 -07:00
spl-atomic.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-condvar.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-cred.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-err.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-generic.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-kmem-cache.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-kmem.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-kstat.c linux/kstat: allow multi-level module names 2025-03-20 16:24:50 -07:00
spl-proc.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-procfs-list.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
spl-shrinker.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-taskq.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-thread.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-trace.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
spl-tsd.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-vmem.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-xdr.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-zlib.c SPDX: license tags: GPL-2.0-or-later 2025-03-13 17:57:09 -07:00
spl-zone.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -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

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