Whamcloud - gitweb
LU-11024 osd-zfs: properly detect ZFS dnode accounting
[fs/lustre-release.git] / config / lustre-build-zfs.m4
index 34f29fc..0bcdf20 100644 (file)
@@ -323,7 +323,7 @@ AC_DEFUN([LB_ZFS_USER], [
        AS_IF([test -z "${zfsinc}"], [
                AS_IF([test -e "${zfssrc}/include/libzfs.h" && test -e "${zfssrc}/lib/libspl/include"], [
                        zfsinc="-I $zfssrc/lib/libspl/include -I $zfssrc/include"
-                       zfslib="-L$zfssrc/lib/libzfs/.libs/"
+                       zfslib="-L$zfssrc/lib/libzfs/.libs/ -L$zfssrc/lib/libnvpair/.libs"
                ], [test -d /usr/include/libzfs && test -d /usr/include/libspl], [
                        zfsinc="-I/usr/include/libspl -I /usr/include/libzfs"
                        zfslib=""
@@ -522,11 +522,11 @@ your distribution.
                dnl #
                dnl # ZFS 0.7.0 feature: SPA_FEATURE_USEROBJ_ACCOUNTING
                dnl #
-               LB_CHECK_COMPILE([if zfs has native dnode accounting supported],
-               dmu_objset_id_quota_upgrade, [
+               LB_CHECK_COMPILE([if ZFS has native dnode accounting supported],
+               dmu_objset_userobjused_enabled, [
                        #include <sys/dmu_objset.h>
                ],[
-                       dmu_objset_id_quota_upgrade(NULL);
+                       dmu_objset_userobjused_enabled(NULL);
                ],[
                        AC_DEFINE(HAVE_DMU_USEROBJ_ACCOUNTING, 1,
                                [Have native dnode accounting in ZFS])
@@ -655,7 +655,25 @@ your distribution.
                        AC_DEFINE(HAVE_DMU_OBJSET_DISOWN_3ARG, 1,
                                [Have dmu_objset_disown() with 3 args])
                ])
+               dnl #
+               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])
+               ])
        ])
 
+       AS_IF([test "x$enable_zfs" = xyes], [
+               AC_SUBST(ENABLE_ZFS, yes)
+       ], [
+               AC_SUBST(ENABLE_ZFS, no)
+       ])
        AM_CONDITIONAL(ZFS_ENABLED, [test "x$enable_zfs" = xyes])
 ])