Go to file
Brian Behlendorf e37e1d3040 Use linux __KERNEL__ define
Previously the project contained who zfs_context.h files,
one for user space builds and one for kernel space builds.
It was the responsibility of the source including the file
to ensure the right one was included based on the order of
the include paths.

This was the way it was done in OpenSolaris but for our
purposes I felt it was overly obscure.  The user and kernel
zfs_context.h files have been combined in to a single file
and a #define determines if you get the user or kernel
context.

The issue here was that I used the _KERNEL macro which is
defined as part of the spl which will only be defined for
most builds after you include the right zfs_context.  It is
safer to use the __KERNEL__ macro which is automatically
defined as part of the kernel build process and passed as
a command line compiler option.  It will always be defined
if your building in the kernel and never for user space.
2010-09-10 09:36:39 -07:00
cmd Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
config Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
etc Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
include Use linux __KERNEL__ define 2010-09-10 09:36:39 -07:00
lib Fix "format not a string literal" warning 2010-09-08 21:39:28 -07:00
man Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
module Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
patches Add build system 2010-08-31 13:41:27 -07:00
scripts Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
AUTHORS Add AUTHORS to master branch 2010-05-18 14:55:01 -07:00
autogen.sh Minor packaging fixes 2010-09-01 15:42:32 -07:00
ChangeLog Add build system 2010-08-31 13:41:27 -07:00
configure Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
configure.ac Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
Makefile.am Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
Makefile.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
META Prep for zfs-0.5.1 tag 2010-09-01 16:00:15 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Add quick build instructions 2010-09-01 11:23:13 -07:00
zfs_config.h.in Add initial autoconf products 2010-08-31 13:42:02 -07:00
zfs-modules.spec.in Add build system 2010-08-31 13:41:27 -07:00
zfs-script-config.sh.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
ZFS.RELEASE Update to onnv_147 2010-08-26 14:24:34 -07:00
zfs.spec.in Support custom build directories and move includes 2010-09-08 12:38:56 -07:00

Native ZFS for Linux! ZFS is an advanced file system and volume manager which was originally developed for Solaris. It has been successfully ported to FreeBSD and now there is a functional Linux ZFS kernel port too. The port currently includes a fully functional and stable SPA, DMU, and ZVOL with a ZFS Posix Layer (ZPL) on the way!

To build packages for your distribution, first build and install the SPL packages http://wiki.github.com/behlendorf/spl/ then:

$ ./configure $ make pkg

Full documentation for building, configuring, and using ZFS can be found at: http://wiki.github.com/behlendorf/zfs/