From 47c0b97421b21dab686b05d6bf829ebcaf62d5db Mon Sep 17 00:00:00 2001 From: Isaac Huang Date: Tue, 22 Jul 2014 16:42:03 -0600 Subject: [PATCH] LU-5391 osd-zfs: ZAP object block sizes too small 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 Change-Id: I5b476414d27822a14afb25e1307991fbd2e3a59e Reviewed-on: http://review.whamcloud.com/11182 Tested-by: Jenkins Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Mike Pershin Reviewed-by: Oleg Drokin --- lustre/osd-zfs/osd_object.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/osd-zfs/osd_object.c b/lustre/osd-zfs/osd_object.c index 8ea9116..e4a2649 100644 --- a/lustre/osd-zfs/osd_object.c +++ b/lustre/osd-zfs/osd_object.c @@ -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, - 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); -- 1.8.3.1