diff --git a/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_znode_impl.h b/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_znode_impl.h --- a/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_znode_impl.h +++ b/sys/contrib/openzfs/include/os/freebsd/zfs/sys/zfs_znode_impl.h @@ -29,6 +29,7 @@ #ifndef _FREEBSD_ZFS_SYS_ZNODE_IMPL_H #define _FREEBSD_ZFS_SYS_ZNODE_IMPL_H +#ifdef _KERNEL #include #include #include @@ -42,6 +43,7 @@ #include #include #include +#endif #ifdef __cplusplus extern "C" { @@ -54,7 +56,7 @@ */ #define ZNODE_OS_FIELDS \ struct zfsvfs *z_zfsvfs; \ - vnode_t *z_vnode; \ + struct vnode *z_vnode; \ char *z_cached_symlink; \ uint64_t z_uid; \ uint64_t z_gid; \ @@ -62,6 +64,8 @@ uint64_t z_atime[2]; \ uint64_t z_links; +#ifdef _KERNEL + #define ZFS_LINK_MAX UINT64_MAX /* @@ -183,6 +187,9 @@ char *buf, uint64_t buflen); extern int zfs_rlimit_fsize(off_t fsize); + +#endif /* _KERNEL */ + #ifdef __cplusplus } #endif diff --git a/sys/contrib/openzfs/include/sys/zfs_vfsops.h b/sys/contrib/openzfs/include/sys/zfs_vfsops.h --- a/sys/contrib/openzfs/include/sys/zfs_vfsops.h +++ b/sys/contrib/openzfs/include/sys/zfs_vfsops.h @@ -27,7 +27,7 @@ #ifndef _SYS_ZFS_VFSOPS_H #define _SYS_ZFS_VFSOPS_H -#ifdef _KERNEL +#if defined(_KERNEL) || defined(_WANT_ZNODE) #include #endif diff --git a/sys/contrib/openzfs/include/sys/zfs_znode.h b/sys/contrib/openzfs/include/sys/zfs_znode.h --- a/sys/contrib/openzfs/include/sys/zfs_znode.h +++ b/sys/contrib/openzfs/include/sys/zfs_znode.h @@ -163,8 +163,9 @@ sa_attr_type_t *sa_table, uint64_t *pobjp, int *is_xattrdir); extern int zfs_get_zplprop(objset_t *os, zfs_prop_t prop, uint64_t *value); -#ifdef _KERNEL +#if defined(_KERNEL) || defined(_WANT_ZNODE) #include +#include /* * Directory entry locks control access to directory entries. @@ -219,7 +220,9 @@ */ ZNODE_OS_FIELDS; } znode_t; +#endif +#ifdef _KERNEL /* Verifies the znode is valid. */ static inline int zfs_verify_zp(znode_t *zp)