Whamcloud - gitweb
LU-5391 osd-zfs: ZAP object block sizes too small 82/11182/3
authorIsaac Huang <he.huang@intel.com>
Tue, 22 Jul 2014 22:42:03 +0000 (16:42 -0600)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 26 Aug 2014 15:19:08 +0000 (15:19 +0000)
Currently osd-zfs ZAP objects use 4K for both leaf
and indirect blocks. This patch increases:
- leaf block to 16K, which equals ZFS fzap_default_block_shift
- indirect block to 16K, the default used by ZPL directories

Signed-off-by: Isaac Huang <he.huang@intel.com>
Change-Id: I5b476414d27822a14afb25e1307991fbd2e3a59e
Reviewed-on: http://review.whamcloud.com/11182
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/osd-zfs/osd_object.c

index 8ea9116..e4a2649 100644 (file)
@@ -1288,7 +1288,9 @@ int __osd_zap_create(const struct lu_env *env, udmu_objset_t *uos,
        LASSERT(tx->tx_txg != 0);
 
        oid = zap_create_flags(uos->os, 0, flags | ZAP_FLAG_HASH64,
        LASSERT(tx->tx_txg != 0);
 
        oid = zap_create_flags(uos->os, 0, flags | ZAP_FLAG_HASH64,
-                              DMU_OT_DIRECTORY_CONTENTS, 12, 12,
+                              DMU_OT_DIRECTORY_CONTENTS,
+                              14, /* == ZFS fzap_default_block_shift */
+                              DN_MAX_INDBLKSHIFT, /* indirect block shift */
                               DMU_OT_SA, DN_MAX_BONUSLEN, tx);
 
        rc = -sa_buf_hold(uos->os, oid, tag, zap_dbp);
                               DMU_OT_SA, DN_MAX_BONUSLEN, tx);
 
        rc = -sa_buf_hold(uos->os, oid, tag, zap_dbp);