Whamcloud - gitweb
LU-11555 utils: ZFS check multihost enabled in read_ldd()
[fs/lustre-release.git] / config / lustre-build-zfs.m4
index 5120ce0..dd59485 100644 (file)
@@ -336,9 +336,11 @@ AC_DEFUN([LB_ZFS_USER], [
        AC_MSG_RESULT([$zfsinc])
 
        ZFS_LIBZFS_INCLUDE=${zfsinc}
-       ZFS_LIBZFS_LDFLAGS="-lzfs -lnvpair ${zfslib}"
+       ZFS_LIBZFS_LDFLAGS=${zfslib}
+       ZFS_LIBZFS_LIBS="-lzfs -lnvpair"
        AC_SUBST(ZFS_LIBZFS_INCLUDE)
        AC_SUBST(ZFS_LIBZFS_LDFLAGS)
+       AC_SUBST(ZFS_LIBZFS_LIBS)
 ])
 
 AC_DEFUN([LB_CONFIG_ZFS], [
@@ -531,6 +533,19 @@ your distribution.
                        AC_DEFINE(HAVE_DMU_USEROBJ_ACCOUNTING, 1,
                                [Have native dnode accounting in ZFS])
                ])
+               dnl #
+               dnl # ZFS 0.7.0 feature: MULTIHOST
+               dnl #
+               LB_CHECK_COMPILE([if ZFS has multihost protection],
+               spa_multihost, [
+                       #include <sys/spa.h>
+               ],[
+                       spa_multihost(NULL);
+               ],[
+                       AC_DEFINE(HAVE_ZFS_MULTIHOST, 1,
+                               [Have multihost protection in ZFS])
+               ])
+               dnl #
                dnl # ZFS 0.7.x adds new method zap_lookup_by_dnode
                dnl #
                LB_CHECK_COMPILE([if ZFS has 'zap_lookup_by_dnode'],
@@ -668,6 +683,31 @@ your distribution.
                        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().
+               dnl #
+               LB_CHECK_COMPILE([if ZFS has 'zfs_refcount_add'],
+               zfs_refcount_add, [
+                       #include <sys/refcount.h>
+               ],[
+                       zfs_refcount_add((zfs_refcount_t *) NULL, NULL);
+               ],[
+                       AC_DEFINE(HAVE_ZFS_REFCOUNT_ADD, 1,
+                               [Have zfs_refcount_add])
+               ])
        ])
 
        AS_IF([test "x$enable_zfs" = xyes], [