X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=config%2Flustre-build-zfs.m4;h=3aa9314ab59b68b26323c3131edbbb4a0cce6186;hp=611e09dd70a2834145c21c4fd7429eb13d498a6c;hb=9765c6174ef580fb4deef4e7faea6d5ed634b00f;hpb=f56b701235674c8661691d73f55570c161fa13cb diff --git a/config/lustre-build-zfs.m4 b/config/lustre-build-zfs.m4 index 611e09d..3aa9314 100644 --- a/config/lustre-build-zfs.m4 +++ b/config/lustre-build-zfs.m4 @@ -450,6 +450,35 @@ your distribution. AC_DEFINE(HAVE_SPA_MAXBLOCKSIZE, 1, [Have spa_maxblocksize in ZFS]) ]) + dnl # + dnl # ZFS 0.7.x adds support for large dnodes. This + dnl # allows Lustre to optionally specify the size of a + dnl # dnode which ZFS will then use to store metadata such + dnl # as xattrs. The default dnode size specified by the + dnl # 'dnodesize' dataset property will be used unless a + dnl # specific value is provided. + dnl # + LB_CHECK_COMPILE([if zfs defines dmu_object_alloc_dnsize], + dmu_object_alloc_dnsize, [ + #include + #include + ],[ + objset_t *os = NULL; + dmu_object_type_t objtype = DMU_OT_NONE; + int blocksize = 0; + dmu_object_type_t bonustype = DMU_OT_SA; + int dnodesize = DNODE_MIN_SIZE; + dmu_tx_t *tx = NULL; + uint64_t id; + + id = dmu_object_alloc_dnsize(os, objtype, blocksize, + bonustype, + DN_BONUS_SIZE(dnodesize), + dnodesize, tx); + ],[ + AC_DEFINE(HAVE_DMU_OBJECT_ALLOC_DNSIZE, 1, + [Have dmu_object_alloc_dnsize in ZFS]) + ]) ]) AM_CONDITIONAL(ZFS_ENABLED, [test "x$enable_zfs" = xyes])