+ dnl # ZFS 0.7.2 adds new method dmu_tx_mark_netfree
+ dnl #
+ LB_CHECK_COMPILE([if ZFS has 'dmu_tx_mark_netfree'],
+ dmu_tx_mark_netfree, [
+ #include <sys/dmu.h>
+ ],[
+ dmu_tx_t *tx = NULL;
+ dmu_tx_mark_netfree(tx);
+ ],[
+ AC_DEFINE(HAVE_DMU_TX_MARK_NETFREE, 1,
+ [Have dmu_tx_mark_netfree])
+ ])
+ dnl #
+ dnl # ZFS 0.7.10 changes timestruc_t to inode_timespec_t
+ dnl #
+ LB_CHECK_COMPILE([if SPL has 'inode_timespec_t'],
+ zfs_have_inode_timespec, [
+ #include <sys/fs/zfs.h>
+ ],[
+ inode_timespec_t now;
+ gethrestime(&now);
+ ],[
+ AC_DEFINE(HAVE_ZFS_INODE_TIMESPEC, 1,
+ [Have inode_timespec_t])
+ ])
+ dnl # ZFS 0.7.12/0.8.x uses zfs_refcount_add() instead of
+ dnl # refcount_add(). ZFS 2.0 renamed sys/refcount.h to
+ dnl # sys/zfs_refcount.h, rather the add another check to
+ dnl # determine the correct header name include it
+ dnl # indirectly through sys/dnode.h.
+ dnl #
+ LB_CHECK_COMPILE([if ZFS has 'zfs_refcount_add'],
+ zfs_refcount_add, [
+ #include <sys/dnode.h>
+ ],[
+ zfs_refcount_add((zfs_refcount_t *) NULL, NULL);
+ ],[
+ AC_DEFINE(HAVE_ZFS_REFCOUNT_ADD, 1,
+ [Have zfs_refcount_add])
+ ])
+ dnl #