X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=config%2Flustre-build-zfs.m4;h=54d788f8720b6c76aecb967f10d0cc078b35913d;hp=0bcdf20ec030ea0c92b632dea6a3a1b6e80c8ab9;hb=f543cd02f604cd154e29271b2ef3ca6592337f40;hpb=4813eee9b06f6ceb4f39cce42d904ec1516a824a diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 index 0bcdf20..54d788f 100644 --- a/config/lustre-build-zfs.m4 +++ b/config/lustre-build-zfs.m4 @@ -15,8 +15,8 @@ dnl # dnl # * /var/lib/dkms/zfs/${VERSION}/source dnl # * /usr/src/zfs-${VERSION}/${LINUXRELEASE} dnl # * /usr/src/zfs-${VERSION} -dnl # * ../spl/ -dnl # * $LINUX +dnl # * ../zfs/ +dnl # * $LINUX/zfs dnl # dnl # --with-zfs-devel=path dnl # - User provided directory where zfs development headers @@ -46,7 +46,7 @@ dnl # * /var/lib/dkms/spl/${VERSION}/source dnl # * /usr/src/spl-${VERSION}/${LINUXRELEASE} dnl # * /usr/src/spl-${VERSION} dnl # * ../spl/ -dnl # * $LINUX +dnl # * $LINUX/spl dnl # dnl # --with-spl=path - Enable spl support and use the spl headers in the dnl # provided path. No autodetection is performed. @@ -76,7 +76,7 @@ AC_DEFUN([LB_SPL], [ splsrc1="/usr/src/spl-${splver}/${LINUXRELEASE}" splsrc2="/usr/src/spl-${splver}" splsrc3="../spl/" - splsrc4="$LINUX" + splsrc4="$LINUX/spl" AC_MSG_CHECKING([spl source directory]) AS_IF([test -z "${splsrc}"], [ @@ -194,7 +194,7 @@ AC_DEFUN([LB_ZFS], [ zfssrc1="/usr/src/zfs-${zfsver}/${LINUXRELEASE}" zfssrc2="/usr/src/zfs-${zfsver}" zfssrc3="../zfs/" - zfssrc4="$LINUX" + zfssrc4="$LINUX/zfs" AC_MSG_CHECKING([zfs source directory]) AS_IF([test -z "${zfssrc}"], [ @@ -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 + ],[ + 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'], @@ -629,6 +644,44 @@ your distribution. [Have dmu_read_by_dnode() in ZFS]) ]) 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 + ],[ + 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 + ],[ + 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 + ],[ + zfs_refcount_add((zfs_refcount_t *) NULL, NULL); + ],[ + AC_DEFINE(HAVE_ZFS_REFCOUNT_ADD, 1, + [Have zfs_refcount_add]) + ]) + dnl # dnl # ZFS 0.8.x changes dmu_objset_own for encryption dnl # LB_CHECK_COMPILE([if ZFS has 'dmu_objset_own' with 6 args], @@ -637,7 +690,7 @@ your distribution. ],[ objset_t *os = NULL; dmu_objset_type_t type = DMU_OST_ANY; - dmu_objset_own(NULL, type, B_FALSE, B_FALSE, FTAG, &os); + dmu_objset_own(NULL, type, B_FALSE, B_TRUE, FTAG, &os); ],[ AC_DEFINE(HAVE_DMU_OBJSET_OWN_6ARG, 1, [Have dmu_objset_own() with 6 args]) @@ -650,24 +703,11 @@ your distribution. #include ],[ objset_t *os = NULL; - dmu_objset_disown(os, B_FALSE, FTAG); + dmu_objset_disown(os, B_TRUE, FTAG); ],[ 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 - ],[ - 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], [