| Make using libzfs.h from user space easier. |
| |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h 2017-07-21 07:42:01.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h 2020-06-28 16:29:40.869941777 +0800 |
| @@ -101,6 +101,7 @@ |
| DDT_PHYS_TYPES |
| }; |
| |
| +#ifdef _KERNEL |
| /* |
| * In-core ddt entry |
| */ |
| @@ -134,6 +135,7 @@ |
| ddt_object_t ddt_object_stats[DDT_TYPES][DDT_CLASSES]; |
| avl_node_t ddt_node; |
| }; |
| +#endif |
| |
| /* |
| * In-core and on-disk bookmark for DDT walks |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h 2017-07-21 07:42:01.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h 2020-06-28 16:29:40.873941882 +0800 |
| @@ -44,7 +44,9 @@ |
| * dmu_spa.h. |
| */ |
| |
| +#ifdef _KERNEL |
| #include <sys/zfs_context.h> |
| +#endif |
| #include <sys/cred.h> |
| #include <sys/fs/zfs.h> |
| #include <sys/zio_priority.h> |
| @@ -505,6 +507,7 @@ |
| |
| typedef void dmu_buf_evict_func_t(void *user_ptr); |
| |
| +#ifdef _KERNEL |
| /* |
| * A DMU buffer user object may be associated with a dbuf for the |
| * duration of its lifetime. This allows the user of a dbuf (client) |
| @@ -645,6 +648,7 @@ |
| * Tells if the given dbuf is freeable. |
| */ |
| boolean_t dmu_buf_freeable(dmu_buf_t *); |
| +#endif /* _KERNEL */ |
| |
| /* |
| * You must create a transaction, then hold the objects which you will |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h 2017-07-21 07:42:01.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h 2020-06-28 16:29:40.873941882 +0800 |
| @@ -31,7 +31,9 @@ |
| #define _SYS_SPA_H |
| |
| #include <sys/avl.h> |
| +#ifdef _KERNEL |
| #include <sys/zfs_context.h> |
| +#endif |
| #include <sys/nvpair.h> |
| #include <sys/sysmacros.h> |
| #include <sys/types.h> |
| @@ -700,8 +702,10 @@ |
| extern void spa_sync(spa_t *spa, uint64_t txg); /* only for DMU use */ |
| extern void spa_sync_allpools(void); |
| |
| +#ifdef _KERNEL |
| /* spa namespace global mutex */ |
| extern kmutex_t spa_namespace_lock; |
| +#endif |
| |
| /* |
| * SPA configuration functions in spa_config.c |
| @@ -746,6 +750,7 @@ |
| #define SCL_ALL ((1 << SCL_LOCKS) - 1) |
| #define SCL_STATE_ALL (SCL_STATE | SCL_L2ARC | SCL_ZIO) |
| |
| +#ifdef _KERNEL |
| /* Pool configuration locks */ |
| extern int spa_config_tryenter(spa_t *spa, int locks, void *tag, krw_t rw); |
| extern void spa_config_enter(spa_t *spa, int locks, void *tag, krw_t rw); |
| @@ -762,6 +767,7 @@ |
| /* Pool vdev state change lock */ |
| extern void spa_vdev_state_enter(spa_t *spa, int oplock); |
| extern int spa_vdev_state_exit(spa_t *spa, vdev_t *vd, int error); |
| +#endif |
| |
| /* Log state */ |
| typedef enum spa_log_state { |
| @@ -771,6 +777,7 @@ |
| SPA_LOG_GOOD, /* log(s) are good */ |
| } spa_log_state_t; |
| |
| +#ifdef _KERNEL |
| extern spa_log_state_t spa_get_log_state(spa_t *spa); |
| extern void spa_set_log_state(spa_t *spa, spa_log_state_t state); |
| extern int spa_offline_log(spa_t *spa); |
| @@ -919,6 +926,7 @@ |
| } |
| |
| extern int spa_mode_global; /* mode, e.g. FREAD | FWRITE */ |
| +#endif |
| |
| #ifdef __cplusplus |
| } |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h 2017-07-21 07:42:01.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h 2020-06-28 16:29:40.873941882 +0800 |
| @@ -32,8 +32,10 @@ |
| #include <sys/cred.h> |
| #include <sys/dmu.h> |
| #include <sys/zio.h> |
| +#ifdef _KERNEL |
| #include <sys/dsl_deleg.h> |
| #include <sys/spa.h> |
| +#endif |
| #include <sys/zfs_stat.h> |
| |
| #ifdef _KERNEL |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h 2017-07-21 07:42:00.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h 2020-06-28 16:29:40.873941882 +0800 |
| @@ -30,9 +30,13 @@ |
| #define _ZIO_H |
| |
| #include <sys/zio_priority.h> |
| +#ifdef _KERNEL |
| #include <sys/zfs_context.h> |
| +#endif |
| #include <sys/spa.h> |
| +#ifdef _KERNEL |
| #include <sys/txg.h> |
| +#endif |
| #include <sys/avl.h> |
| #include <sys/kstat.h> |
| #include <sys/fs/zfs.h> |
| @@ -415,6 +419,7 @@ |
| #define ZIO_TRIM_STAT_BUMP(stat) \ |
| ZIO_TRIM_STAT_INCR(stat, 1); |
| |
| +#ifdef _KERNEL |
| struct zio { |
| /* Core information about this I/O */ |
| zbookmark_phys_t io_bookmark; |
| @@ -652,6 +657,8 @@ |
| int zbookmark_compare(uint16_t dbss1, uint8_t ibs1, uint16_t dbss2, |
| uint8_t ibs2, const zbookmark_phys_t *zb1, const zbookmark_phys_t *zb2); |
| |
| +#endif /* _KERNEL */ |
| + |
| #ifdef __cplusplus |
| } |
| #endif |
| diff -ru --exclude-from freebsd-src-diff-exclude-names /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h |
| --- /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h 2017-07-21 07:42:01.000000000 +0800 |
| +++ freebsd-11.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h 2020-06-28 16:29:40.873941882 +0800 |
| @@ -30,7 +30,9 @@ |
| #ifndef _ZIO_IMPL_H |
| #define _ZIO_IMPL_H |
| |
| +#ifdef _KERNEL |
| #include <sys/zfs_context.h> |
| +#endif |
| #include <sys/zio.h> |
| |
| #ifdef __cplusplus |
| @@ -246,8 +248,10 @@ |
| ZIO_STAGE_DVA_CLAIM | \ |
| ZIO_STAGE_VDEV_IO_START) |
| |
| +#ifdef _KERNEL |
| extern void zio_inject_init(void); |
| extern void zio_inject_fini(void); |
| +#endif |
| |
| #ifdef __cplusplus |
| } |