zfs/module/spl
Eli Schwartz 638edf1d42 Linux 5.8 compat: __vmalloc()
The `pgprot` argument has been removed from `__vmalloc` in Linux 5.8,
being `PAGE_KERNEL` always now [1].

Detect this during configure and define a wrapper for older kernels.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/mm/vmalloc.c?h=next-20200605&id=88dca4ca5a93d2c09e5bbc6a62fbfc3af83c4fca

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Co-authored-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Co-authored-by: Michael Niewöhner <foss@mniewoehner.de>
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Closes #10422

(cherry picked from commit 080102a1b6)
- apply to 0.8.4 before certain files were moved around
- config/kernel-kmem.m4 exists in git but not release tarballs because
  it is unused; introduce it in a new file to prevent conflicts
- linux/mm.h is included in git master via sys/kmem.h; do not remove it
  here or the build will error due to undefined is_vmalloc_addr()

Original-patch-by: Michael Niewöhner <c0d3z3r0@users.noreply.github.com>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2020-09-15 21:16:58 +00:00
..
Makefile.in Retire unused spl_{mutex,rwlock}_{init_fini} 2019-09-25 11:27:49 -07:00
README.md Update build system and packaging 2018-05-29 16:00:33 -07:00
THIRDPARTYLICENSE.gplv2 Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
THIRDPARTYLICENSE.gplv2.descrip Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
spl-atomic.c Fix cstyle warnings 2018-02-07 11:49:38 -08:00
spl-condvar.c Fix typos in module/ 2020-01-22 13:48:59 -08:00
spl-cred.c Fix cstyle warnings 2018-02-07 11:49:38 -08:00
spl-err.c Correct snprintf() size argument 2019-04-30 19:41:12 -07:00
spl-generic.c cppcheck: (error) Shifting signed 64-bit value by 63 bits 2020-01-22 13:49:06 -08:00
spl-kmem-cache.c Linux 5.8 compat: __vmalloc() 2020-09-15 21:16:58 +00:00
spl-kmem.c Linux 5.8 compat: __vmalloc() 2020-09-15 21:16:58 +00:00
spl-kobj.c Fix cstyle warnings 2018-02-07 11:49:38 -08:00
spl-kstat.c Linux 5.6 compat: struct proc_ops 2020-05-12 10:53:32 -07:00
spl-proc.c Linux 5.6 compat: struct proc_ops 2020-05-12 10:53:32 -07:00
spl-procfs-list.c Linux 5.6 compat: struct proc_ops 2020-05-12 10:53:32 -07:00
spl-taskq.c cppcheck: (error) Uninitialized variable 2020-01-22 13:49:06 -08:00
spl-thread.c Minor style cleanup 2019-09-25 11:27:49 -07:00
spl-tsd.c cppcheck: (error) Uninitialized variable 2020-01-22 13:49:06 -08:00
spl-vmem.c cppcheck: (error) Uninitialized variable 2020-01-22 13:49:06 -08:00
spl-vnode.c Fix zfs-0.8.3 'make lint' warnings 2020-01-22 13:49:07 -08:00
spl-xdr.c Update build system and packaging 2018-05-29 16:00:33 -07:00
spl-zlib.c Drop KMC_NOEMERGENCY 2020-01-22 13:48:57 -08:00

README.md

The Solaris Porting Layer, SPL, is a Linux kernel module which provides a compatibility layer used by the ZFS on Linux 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