46c936756e
Over the years the SPL code bases has accumulated compatibly code to allow it to build against a wide range of Linux kernels. In general this is desirable because it makes the code flexible. However, once support for these old kernels is no longer needed and is no longer being actively tested it should be removed. This helps keep the code simple and understandable. The spl-0.6.x releases have supported kernels all the way back to 2.6.26. This patch stack moves that cut off up to 2.6.32 and newer kernels. This ensures we still support all the major enterprise distributions which are largely locked in to 2.6.32 based kernels. And at the same time we can shed a large amount of compatibility code which simplifies maintenance and new development. Signed-off-by: Tim Chase <tim@chase2k.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #395 |
||
---|---|---|
cmd | ||
config | ||
include | ||
lib | ||
man | ||
module | ||
rpm | ||
scripts | ||
.gitignore | ||
AUTHORS | ||
COPYING | ||
DISCLAIMER | ||
META | ||
Makefile.am | ||
README.markdown | ||
autogen.sh | ||
configure.ac | ||
copy-builtin | ||
spl.release.in |
README.markdown
The Solaris Porting Layer (SPL) is a Linux kernel module which provides many of the Solaris kernel APIs. This shim layer makes it possible to run Solaris kernel code in the Linux kernel with relatively minimal modification. This can be particularly useful when you want to track upstream Solaris development closely and do not want the overhead of maintaining a large patch which converts Solaris primitives to Linux primitives.
To build packages for your distribution:
$ ./configure
$ make pkg
If you are building directly from the git tree and not an officially released tarball you will need to generate the configure script. This can be done by executing the autogen.sh script after installing the GNU autotools for your distribution.
To copy the kernel code inside your kernel source tree for builtin compilation:
$ ./configure --enable-linux-builtin --with-linux=/usr/src/linux-...
$ ./copy-builtin /usr/src/linux-...
The SPL comes with an automated test suite called SPLAT. The test suite is implemented in two parts. There is a kernel module which contains the tests and a user space utility which controls which tests are run. To run the full test suite:
$ sudo insmod ./module/splat/splat.ko
$ sudo ./cmd/splat --all
Full documentation for building, configuring, testing, and using the SPL can be found at: http://zfsonlinux.org