aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/os/freebsd/spl/sys/ccompile.h10
-rw-r--r--include/os/freebsd/spl/sys/condvar.h1
-rw-r--r--include/os/freebsd/spl/sys/file.h2
-rw-r--r--include/os/freebsd/spl/sys/mount.h3
-rw-r--r--include/os/freebsd/spl/sys/sunddi.h2
-rw-r--r--module/Makefile.bsd1
-rw-r--r--module/os/freebsd/spl/spl_misc.c19
-rw-r--r--module/os/freebsd/spl/spl_sysevent.c1
-rw-r--r--module/os/freebsd/zfs/arc_os.c1
-rw-r--r--module/os/freebsd/zfs/sysctl_os.c4
-rw-r--r--module/os/freebsd/zfs/vdev_file.c1
-rw-r--r--module/os/freebsd/zfs/vdev_geom.c1
-rw-r--r--module/zfs/spa_config.c1
13 files changed, 33 insertions, 14 deletions
diff --git a/include/os/freebsd/spl/sys/ccompile.h b/include/os/freebsd/spl/sys/ccompile.h
index f9b09d430..4dda0756f 100644
--- a/include/os/freebsd/spl/sys/ccompile.h
+++ b/include/os/freebsd/spl/sys/ccompile.h
@@ -160,11 +160,13 @@ extern "C" {
#define KMALLOC_MAX_SIZE MAXPHYS
#ifdef _KERNEL
+#if !defined(LOCORE) && !defined(_ASM)
typedef unsigned long long u_longlong_t;
typedef long long longlong_t;
-#include <linux/types.h>
+
typedef void zfs_kernel_param_t;
+#endif
#define param_set_charp(a, b) (0)
#define ATTR_UID AT_UID
#define ATTR_GID AT_GID
@@ -179,6 +181,9 @@ typedef void zfs_kernel_param_t;
#define MUTEX_NOLOCKDEP 0
#define RW_NOLOCKDEP 0
+#if !defined(LOCORE) && !defined(_ASM)
+#include <sys/param.h>
+#include <linux/types.h>
#if __FreeBSD_version < 1300051
#define vm_page_valid(m) (m)->valid = VM_PAGE_BITS_ALL
@@ -207,7 +212,6 @@ typedef void zfs_kernel_param_t;
#else
#define getnewvnode_reserve_() getnewvnode_reserve(1)
#endif
-
struct hlist_node {
struct hlist_node *next, **pprev;
};
@@ -288,7 +292,7 @@ atomic_dec(atomic_t *v)
{
return (atomic_fetchadd_int(&v->counter, -1) - 1);
}
-
+#endif
#else
typedef long loff_t;
typedef long rlim64_t;
diff --git a/include/os/freebsd/spl/sys/condvar.h b/include/os/freebsd/spl/sys/condvar.h
index 4375bd6a3..2e99a1a34 100644
--- a/include/os/freebsd/spl/sys/condvar.h
+++ b/include/os/freebsd/spl/sys/condvar.h
@@ -35,7 +35,6 @@
#include <sys/spl_condvar.h>
#include <sys/mutex.h>
#include <sys/time.h>
-#include <sys/kmem.h>
/*
* cv_timedwait() is similar to cv_wait() except that it additionally expects
diff --git a/include/os/freebsd/spl/sys/file.h b/include/os/freebsd/spl/sys/file.h
index 10a82c204..0d0be44f8 100644
--- a/include/os/freebsd/spl/sys/file.h
+++ b/include/os/freebsd/spl/sys/file.h
@@ -29,6 +29,8 @@
#ifndef _OPENSOLARIS_SYS_FILE_H_
#define _OPENSOLARIS_SYS_FILE_H_
+#include <sys/refcount.h>
+#include_next <sys/refcount.h>
#include_next <sys/file.h>
#define FKIOCTL 0x80000000 /* ioctl addresses are from kernel */
diff --git a/include/os/freebsd/spl/sys/mount.h b/include/os/freebsd/spl/sys/mount.h
index 4732d283b..42614e473 100644
--- a/include/os/freebsd/spl/sys/mount.h
+++ b/include/os/freebsd/spl/sys/mount.h
@@ -31,8 +31,9 @@
#include <sys/param.h>
#include_next <sys/mount.h>
+#ifdef BUILDING_ZFS
#include <sys/vfs.h>
-
+#endif
#define MS_FORCE MNT_FORCE
#define MS_REMOUNT MNT_UPDATE
diff --git a/include/os/freebsd/spl/sys/sunddi.h b/include/os/freebsd/spl/sys/sunddi.h
index bb76cd964..41d0f4512 100644
--- a/include/os/freebsd/spl/sys/sunddi.h
+++ b/include/os/freebsd/spl/sys/sunddi.h
@@ -29,7 +29,9 @@
#include <sys/uio.h>
#include <sys/mutex.h>
#include <sys/u8_textprep.h>
+#ifdef BUILDING_ZFS
#include <sys/vnode.h>
+#endif
typedef int ddi_devid_t;
diff --git a/module/Makefile.bsd b/module/Makefile.bsd
index a46b92051..7c83113ac 100644
--- a/module/Makefile.bsd
+++ b/module/Makefile.bsd
@@ -331,6 +331,7 @@ CFLAGS.fm.c= -Wno-cast-qual
CFLAGS.lz4.c= -Wno-cast-qual
CFLAGS.spa.c= -Wno-cast-qual
CFLAGS.spa_misc.c= -Wno-cast-qual
+CFLAGS.sysctl_os.c= -include ../zfs_config.h
CFLAGS.vdev_raidz.c= -Wno-cast-qual
CFLAGS.vdev_raidz_math.c= -Wno-cast-qual
CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual
diff --git a/module/os/freebsd/spl/spl_misc.c b/module/os/freebsd/spl/spl_misc.c
index ab4702574..8d33916d8 100644
--- a/module/os/freebsd/spl/spl_misc.c
+++ b/module/os/freebsd/spl/spl_misc.c
@@ -34,15 +34,24 @@ __FBSDID("$FreeBSD$");
#include <sys/limits.h>
#include <sys/misc.h>
#include <sys/sysctl.h>
+#include <sys/vnode.h>
#include <sys/zfs_context.h>
-char hw_serial[11] = "0";
-
static struct opensolaris_utsname hw_utsname = {
.machine = MACHINE
};
+#ifndef KERNEL_STATIC
+char hw_serial[11] = "0";
+
+utsname_t *
+utsname(void)
+{
+ return (&hw_utsname);
+}
+#endif
+
static void
opensolaris_utsname_init(void *arg)
{
@@ -98,10 +107,6 @@ spl_panic(const char *file, const char *func, int line, const char *fmt, ...)
va_end(ap);
}
-utsname_t *
-utsname(void)
-{
- return (&hw_utsname);
-}
+
SYSINIT(opensolaris_utsname_init, SI_SUB_TUNABLES, SI_ORDER_ANY,
opensolaris_utsname_init, NULL);
diff --git a/module/os/freebsd/spl/spl_sysevent.c b/module/os/freebsd/spl/spl_sysevent.c
index d3748276a..4bb0658c8 100644
--- a/module/os/freebsd/spl/spl_sysevent.c
+++ b/module/os/freebsd/spl/spl_sysevent.c
@@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/malloc.h>
#include <sys/kmem.h>
+#include <sys/list.h>
#include <sys/sbuf.h>
#include <sys/nvpair.h>
#include <sys/sunddi.h>
diff --git a/module/os/freebsd/zfs/arc_os.c b/module/os/freebsd/zfs/arc_os.c
index 23b580c43..87e517b58 100644
--- a/module/os/freebsd/zfs/arc_os.c
+++ b/module/os/freebsd/zfs/arc_os.c
@@ -44,6 +44,7 @@
#include <sys/arc_impl.h>
#include <sys/sdt.h>
#include <sys/aggsum.h>
+#include <sys/vnode.h>
#include <cityhash.h>
extern struct vfsops zfs_vfsops;
diff --git a/module/os/freebsd/zfs/sysctl_os.c b/module/os/freebsd/zfs/sysctl_os.c
index 6d5c88e21..54b62f248 100644
--- a/module/os/freebsd/zfs/sysctl_os.c
+++ b/module/os/freebsd/zfs/sysctl_os.c
@@ -90,7 +90,6 @@ __FBSDID("$FreeBSD$");
#include <sys/arc_impl.h>
#include <sys/dsl_pool.h>
-#include <../zfs_config.h>
/* BEGIN CSTYLED */
SYSCTL_DECL(_vfs_zfs);
@@ -124,10 +123,11 @@ SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, cache, CTLFLAG_RW, 0, "ZFS VDEV Cache");
SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, mirror, CTLFLAG_RD, 0,
"ZFS VDEV mirror");
+#ifdef ZFS_META_VERSION
SYSCTL_DECL(_vfs_zfs_version);
SYSCTL_CONST_STRING(_vfs_zfs_version, OID_AUTO, module, CTLFLAG_RD,
(ZFS_META_VERSION "-" ZFS_META_RELEASE), "OpenZFS module version");
-
+#endif
extern arc_state_t ARC_anon;
extern arc_state_t ARC_mru;
extern arc_state_t ARC_mru_ghost;
diff --git a/module/os/freebsd/zfs/vdev_file.c b/module/os/freebsd/zfs/vdev_file.c
index 01851378e..cca6bffd9 100644
--- a/module/os/freebsd/zfs/vdev_file.c
+++ b/module/os/freebsd/zfs/vdev_file.c
@@ -25,6 +25,7 @@
#include <sys/zfs_context.h>
#include <sys/spa.h>
+#include <sys/file.h>
#include <sys/vdev_file.h>
#include <sys/vdev_impl.h>
#include <sys/zio.h>
diff --git a/module/os/freebsd/zfs/vdev_geom.c b/module/os/freebsd/zfs/vdev_geom.c
index 69a73103c..8462755f8 100644
--- a/module/os/freebsd/zfs/vdev_geom.c
+++ b/module/os/freebsd/zfs/vdev_geom.c
@@ -29,6 +29,7 @@
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/bio.h>
+#include <sys/file.h>
#include <sys/spa.h>
#include <sys/spa_impl.h>
#include <sys/vdev_impl.h>
diff --git a/module/zfs/spa_config.c b/module/zfs/spa_config.c
index 3a65b0bb4..b30c65e71 100644
--- a/module/zfs/spa_config.c
+++ b/module/zfs/spa_config.c
@@ -27,6 +27,7 @@
*/
#include <sys/spa.h>
+#include <sys/file.h>
#include <sys/fm/fs/zfs.h>
#include <sys/spa_impl.h>
#include <sys/nvpair.h>