Go to file
Darik Horn 79593b0dec Stabilize the hostid for RPM installations.
ZFS requires a stable hostid to recognize foreign pool imports,
but the hostid of a Linux system can change if the /etc/hostid
file is missing, particularly during DHCP lease updates.

Ensure that the system hostid is stable by creating the
/etc/hostid file from the output of the /usr/bin/hostid utility.
The /sbin/genhostid utility that is provided by the initscripts
package is not used because it creates a random hostid, which
breaks upgrades on systems that already have the SPL module
installed.

The external `printf` is used because the dash builtin lacks
the byte format.  Conveniences like a ${HOSTID:$ii:2} substring
range or a `sed` one-liner are similarly avoided.
2011-06-24 09:58:08 -07:00
cmd Support custom build directories 2010-09-05 21:49:05 -07:00
config Linux 3.0: Shrinker compatibility 2011-06-21 14:02:39 -07:00
include Read the /etc/hostid file directly. 2011-06-24 09:58:03 -07:00
lib Support custom build directories 2010-09-05 21:49:05 -07:00
module Read the /etc/hostid file directly. 2011-06-24 09:58:03 -07:00
patches Reimplement rwlocks for Linux lock profiling/analysis. 2009-09-18 16:09:47 -07:00
scripts Load zlib_inflate.ko 2011-03-22 12:18:44 -07:00
.gitignore Ignore unsigned module build products 2010-03-11 14:29:17 -08:00
AUTHORS Public Release Prep 2010-05-17 15:18:00 -07:00
autogen.sh Public Release Prep 2010-05-17 15:18:00 -07:00
ChangeLog Prep for spl-0.5.0 tag 2010-08-13 09:33:50 -07:00
configure Linux 3.0: Shrinker compatibility 2011-06-21 14:02:39 -07:00
configure.ac Support custom build directories 2010-09-05 21:49:05 -07:00
COPYING Public Release Prep 2010-05-17 15:18:00 -07:00
DISCLAIMER Public Release Prep 2010-05-17 15:18:00 -07:00
INSTALL Public Release Prep 2010-05-17 15:18:00 -07:00
Makefile.am Support custom build directories 2010-09-05 21:49:05 -07:00
Makefile.in Avoid 'rpm -q' bug for 'make pkg' 2011-06-16 11:49:38 -07:00
META Prep spl-0.6.0-rc4 tag 2011-05-03 10:31:12 -07:00
README.markdown Fix markdown rendering 2010-09-15 09:05:34 -07:00
spl_config.h.in Linux 3.0: Shrinker compatibility 2011-06-21 14:02:39 -07:00
spl-modules.spec.in Stabilize the hostid for RPM installations. 2011-06-24 09:58:08 -07:00
spl.spec.in Remove usage of the __id_u macro for portability. 2009-10-05 12:51:58 -07:00

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 dont want the overhead of maintaining a large patch which converts Solaris primitives to Linux primitives.

To build packages for your distribution:

$ ./configure
$ make pkg

Full documentation for building, configuring, and using the SPL can be found at: http://zfsonlinux.org