]> git.proxmox.com Git - mirror_zfs.git/commit - configure.ac
Add FreeBSD support to OpenZFS
authorMatthew Macy <mmacy@freebsd.org>
Tue, 14 Apr 2020 18:36:28 +0000 (11:36 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Apr 2020 18:36:28 +0000 (11:36 -0700)
commit9f0a21e6411aa0bac23fba0ddb220342a48c7cc7
tree63e77f57396f27dbe5c69dc11e7aeb37f9008bfc
parent75c62019f3938e7bc81becb4fb2d5b5eb523e79a
Add FreeBSD support to OpenZFS

Add the FreeBSD platform code to the OpenZFS repository.  As of this
commit the source can be compiled and tested on FreeBSD 11 and 12.
Subsequent commits are now required to compile on FreeBSD and Linux.
Additionally, they must pass the ZFS Test Suite on FreeBSD which is
being run by the CI.  As of this commit 1230 tests pass on FreeBSD
and there are no unexpected failures.

Reviewed-by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Richard Laager <rlaager@wiktel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Co-authored-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Signed-off-by: Ryan Moeller <ryan@iXsystems.com>
Closes #898
Closes #8987
209 files changed:
.github/suppressions.txt
.gitignore
Makefile.am
README.md
cmd/Makefile.am
cmd/zpool/Makefile.am
cmd/zpool/os/freebsd/zpool_vdev_os.c [new file with mode: 0644]
cmd/zpool/zpool_vdev.c
config/Rules.am
config/always-arch.m4
config/always-compiler-options.m4
config/kernel.m4
config/toolchain-simd.m4
config/user.m4
config/zfs-build.m4
configure.ac
contrib/Makefile.am
etc/Makefile.am
include/os/Makefile.am
include/os/freebsd/Makefile.am [new file with mode: 0644]
include/os/freebsd/linux/Makefile.am [new file with mode: 0644]
include/os/freebsd/linux/compiler.h [new file with mode: 0644]
include/os/freebsd/linux/types.h [new file with mode: 0644]
include/os/freebsd/spl/Makefile.am [new file with mode: 0644]
include/os/freebsd/spl/acl/Makefile.am [new file with mode: 0644]
include/os/freebsd/spl/acl/acl_common.h [new file with mode: 0644]
include/os/freebsd/spl/rpc/Makefile.am [new file with mode: 0644]
include/os/freebsd/spl/rpc/xdr.h [new file with mode: 0644]
include/os/freebsd/spl/sys/Makefile.am [new file with mode: 0644]
include/os/freebsd/spl/sys/acl.h [new file with mode: 0644]
include/os/freebsd/spl/sys/acl_impl.h [new file with mode: 0644]
include/os/freebsd/spl/sys/atomic.h [new file with mode: 0644]
include/os/freebsd/spl/sys/byteorder.h [new file with mode: 0644]
include/os/freebsd/spl/sys/callb.h [new file with mode: 0644]
include/os/freebsd/spl/sys/ccompile.h [new file with mode: 0644]
include/os/freebsd/spl/sys/cmn_err.h [new file with mode: 0644]
include/os/freebsd/spl/sys/condvar.h [new file with mode: 0644]
include/os/freebsd/spl/sys/console.h [new file with mode: 0644]
include/os/freebsd/spl/sys/cred.h [new file with mode: 0644]
include/os/freebsd/spl/sys/ctype.h [new file with mode: 0644]
include/os/freebsd/spl/sys/debug.h [new file with mode: 0644]
include/os/freebsd/spl/sys/dirent.h [new file with mode: 0644]
include/os/freebsd/spl/sys/disp.h [new file with mode: 0644]
include/os/freebsd/spl/sys/dkio.h [new file with mode: 0644]
include/os/freebsd/spl/sys/endian.h [new file with mode: 0644]
include/os/freebsd/spl/sys/extdirent.h [new file with mode: 0644]
include/os/freebsd/spl/sys/file.h [new file with mode: 0644]
include/os/freebsd/spl/sys/freebsd_rwlock.h [new file with mode: 0644]
include/os/freebsd/spl/sys/inttypes.h [new file with mode: 0644]
include/os/freebsd/spl/sys/isa_defs.h [new file with mode: 0644]
include/os/freebsd/spl/sys/kmem.h [new file with mode: 0644]
include/os/freebsd/spl/sys/kmem_cache.h [new file with mode: 0644]
include/os/freebsd/spl/sys/kstat.h [new file with mode: 0644]
include/os/freebsd/spl/sys/list.h [new file with mode: 0644]
include/os/freebsd/spl/sys/list_impl.h [new file with mode: 0644]
include/os/freebsd/spl/sys/lock.h [new file with mode: 0644]
include/os/freebsd/spl/sys/misc.h [new file with mode: 0644]
include/os/freebsd/spl/sys/mod_os.h [new file with mode: 0644]
include/os/freebsd/spl/sys/mode.h [new file with mode: 0644]
include/os/freebsd/spl/sys/mount.h [new file with mode: 0644]
include/os/freebsd/spl/sys/mutex.h [new file with mode: 0644]
include/os/freebsd/spl/sys/param.h [new file with mode: 0644]
include/os/freebsd/spl/sys/policy.h [new file with mode: 0644]
include/os/freebsd/spl/sys/proc.h [new file with mode: 0644]
include/os/freebsd/spl/sys/processor.h [new file with mode: 0644]
include/os/freebsd/spl/sys/procfs_list.h [new file with mode: 0644]
include/os/freebsd/spl/sys/random.h [new file with mode: 0644]
include/os/freebsd/spl/sys/rwlock.h [new file with mode: 0644]
include/os/freebsd/spl/sys/sdt.h [new file with mode: 0644]
include/os/freebsd/spl/sys/sid.h [new file with mode: 0644]
include/os/freebsd/spl/sys/sig.h [new file with mode: 0644]
include/os/freebsd/spl/sys/simd.h [new file with mode: 0644]
include/os/freebsd/spl/sys/simd_x86.h [new file with mode: 0644]
include/os/freebsd/spl/sys/spl_condvar.h [new file with mode: 0644]
include/os/freebsd/spl/sys/string.h [new file with mode: 0644]
include/os/freebsd/spl/sys/strings.h [new file with mode: 0644]
include/os/freebsd/spl/sys/sunddi.h [new file with mode: 0644]
include/os/freebsd/spl/sys/sysmacros.h [new file with mode: 0644]
include/os/freebsd/spl/sys/systeminfo.h [new file with mode: 0644]
include/os/freebsd/spl/sys/systm.h [new file with mode: 0644]
include/os/freebsd/spl/sys/taskq.h [new file with mode: 0644]
include/os/freebsd/spl/sys/thread.h [new file with mode: 0644]
include/os/freebsd/spl/sys/time.h [new file with mode: 0644]
include/os/freebsd/spl/sys/timer.h [new file with mode: 0644]
include/os/freebsd/spl/sys/trace.h [new file with mode: 0644]
include/os/freebsd/spl/sys/trace_zfs.h [new file with mode: 0644]
include/os/freebsd/spl/sys/types.h [new file with mode: 0644]
include/os/freebsd/spl/sys/types32.h [new file with mode: 0644]
include/os/freebsd/spl/sys/uio.h [new file with mode: 0644]
include/os/freebsd/spl/sys/uuid.h [new file with mode: 0644]
include/os/freebsd/spl/sys/vfs.h [new file with mode: 0644]
include/os/freebsd/spl/sys/vm.h [new file with mode: 0644]
include/os/freebsd/spl/sys/vmsystm.h [new file with mode: 0644]
include/os/freebsd/spl/sys/vnode.h [new file with mode: 0644]
include/os/freebsd/spl/sys/vnode_impl.h [new file with mode: 0644]
include/os/freebsd/spl/sys/zmod.h [new file with mode: 0644]
include/os/freebsd/spl/sys/zone.h [new file with mode: 0644]
include/os/freebsd/zfs/Makefile.am [new file with mode: 0644]
include/os/freebsd/zfs/sys/Makefile.am [new file with mode: 0644]
include/os/freebsd/zfs/sys/freebsd_crypto.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/sha2.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/vdev_os.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_context_os.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_ctldir.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_dir.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_ioctl_compat.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_vfsops.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_vnops.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zfs_znode_impl.h [new file with mode: 0644]
include/os/freebsd/zfs/sys/zpl.h [new file with mode: 0644]
lib/Makefile.am
lib/libnvpair/Makefile.am
lib/libspl/Makefile.am
lib/libspl/include/os/Makefile.am
lib/libspl/include/os/freebsd/Makefile.am [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/Makefile.am [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/byteorder.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/file.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/mnttab.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/mount.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/param.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/stat.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/sysmacros.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/uio.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/vfs.h [new file with mode: 0644]
lib/libspl/include/os/freebsd/sys/zfs_context_os.h [new file with mode: 0644]
lib/libspl/os/freebsd/getexecname.c [new file with mode: 0644]
lib/libspl/os/freebsd/gethostid.c [new file with mode: 0644]
lib/libspl/os/freebsd/getmntany.c [new file with mode: 0644]
lib/libspl/os/freebsd/mnttab.c [new file with mode: 0644]
lib/libuutil/Makefile.am
lib/libzfs/Makefile.am
lib/libzfs/libzfs_util.c
lib/libzfs/os/freebsd/libzfs_compat.c [new file with mode: 0644]
lib/libzfs/os/freebsd/libzfs_fsshare.c [new file with mode: 0644]
lib/libzfs/os/freebsd/libzfs_ioctl_compat.c [new file with mode: 0644]
lib/libzfs/os/freebsd/libzfs_zmount.c [new file with mode: 0644]
lib/libzfs_core/Makefile.am
lib/libzfs_core/libzfs_core_compat.h [new file with mode: 0644]
lib/libzpool/Makefile.am
lib/libzutil/Makefile.am
lib/libzutil/os/freebsd/zutil_compat.c [new file with mode: 0644]
lib/libzutil/os/freebsd/zutil_device_path_os.c [new file with mode: 0644]
lib/libzutil/os/freebsd/zutil_import_os.c [new file with mode: 0644]
module/.gitignore
module/Makefile.bsd [new file with mode: 0644]
module/Makefile.in
module/os/freebsd/spl/acl_common.c [new file with mode: 0644]
module/os/freebsd/spl/callb.c [new file with mode: 0644]
module/os/freebsd/spl/list.c [new file with mode: 0644]
module/os/freebsd/spl/sha224.h [new file with mode: 0644]
module/os/freebsd/spl/sha256.h [new file with mode: 0644]
module/os/freebsd/spl/sha256c.c [new file with mode: 0644]
module/os/freebsd/spl/sha384.h [new file with mode: 0644]
module/os/freebsd/spl/sha512.h [new file with mode: 0644]
module/os/freebsd/spl/sha512c.c [new file with mode: 0644]
module/os/freebsd/spl/sha512t.h [new file with mode: 0644]
module/os/freebsd/spl/spl_acl.c [new file with mode: 0644]
module/os/freebsd/spl/spl_atomic.c [new file with mode: 0644]
module/os/freebsd/spl/spl_cmn_err.c [new file with mode: 0644]
module/os/freebsd/spl/spl_dtrace.c [new file with mode: 0644]
module/os/freebsd/spl/spl_kmem.c [new file with mode: 0644]
module/os/freebsd/spl/spl_kstat.c [new file with mode: 0644]
module/os/freebsd/spl/spl_misc.c [new file with mode: 0644]
module/os/freebsd/spl/spl_policy.c [new file with mode: 0644]
module/os/freebsd/spl/spl_procfs_list.c [new file with mode: 0644]
module/os/freebsd/spl/spl_string.c [new file with mode: 0644]
module/os/freebsd/spl/spl_sunddi.c [new file with mode: 0644]
module/os/freebsd/spl/spl_sysevent.c [new file with mode: 0644]
module/os/freebsd/spl/spl_taskq.c [new file with mode: 0644]
module/os/freebsd/spl/spl_uio.c [new file with mode: 0644]
module/os/freebsd/spl/spl_vfs.c [new file with mode: 0644]
module/os/freebsd/spl/spl_vm.c [new file with mode: 0644]
module/os/freebsd/spl/spl_zlib.c [new file with mode: 0644]
module/os/freebsd/spl/spl_zone.c [new file with mode: 0644]
module/os/freebsd/zfs/abd.c [new file with mode: 0644]
module/os/freebsd/zfs/arc_os.c [new file with mode: 0644]
module/os/freebsd/zfs/crypto_os.c [new file with mode: 0644]
module/os/freebsd/zfs/dmu_os.c [new file with mode: 0644]
module/os/freebsd/zfs/hkdf.c [new file with mode: 0644]
module/os/freebsd/zfs/kmod_core.c [new file with mode: 0644]
module/os/freebsd/zfs/spa_os.c [new file with mode: 0644]
module/os/freebsd/zfs/spa_stats.c [new file with mode: 0644]
module/os/freebsd/zfs/sysctl_os.c [new file with mode: 0644]
module/os/freebsd/zfs/vdev_file.c [new file with mode: 0644]
module/os/freebsd/zfs/vdev_geom.c [new file with mode: 0644]
module/os/freebsd/zfs/vdev_label_os.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_acl.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_ctldir.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_debug.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_dir.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_file_os.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_fuid_os.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_ioctl_os.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_onexit_os.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_vfsops.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_vnops.c [new file with mode: 0644]
module/os/freebsd/zfs/zfs_znode.c [new file with mode: 0644]
module/os/freebsd/zfs/zio_crypt.c [new file with mode: 0644]
module/os/freebsd/zfs/zvol_os.c [new file with mode: 0644]
scripts/zfs-tests.sh
tests/runfiles/Makefile.am
tests/runfiles/common.run
tests/runfiles/freebsd.run [new file with mode: 0644]
tests/runfiles/linux.run
tests/test-runner/bin/zts-report.py
tests/zfs-tests/include/libtest.shlib
tests/zfs-tests/include/tunables.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import_missing_003_pos.ksh