From 1e8f6cf5131bedcd44bf4f7bd2c10c7e23069cc1 Mon Sep 17 00:00:00 2001 From: Andriy Skulysh Date: Tue, 20 Aug 2013 13:47:20 +0300 Subject: [PATCH] LU-3781 mdt: Atomically update MDT exp_connect_data don't copy exp_connect_data in mdt_connect_internal() it restores original LU-1623 behaviour. Xyratex-bug-id: MRP-1208 Signed-off-by: Andriy Skulysh Change-Id: I71ab4d8917bba8ce12fd9af933885796869321e6 Reviewed-on: http://review.whamcloud.com/7391 Tested-by: Hudson Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Niu Yawei --- lustre/mdt/mdt_handler.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lustre/mdt/mdt_handler.c b/lustre/mdt/mdt_handler.c index a3b2a1d..9108cfb 100644 --- a/lustre/mdt/mdt_handler.c +++ b/lustre/mdt/mdt_handler.c @@ -1620,6 +1620,8 @@ int mdt_connect(struct mdt_thread_info *info) reply = req_capsule_server_get(info->mti_pill, &RMF_CONNECT_DATA); spin_lock(&exp->exp_lock); *exp_connect_flags_ptr(exp) = reply->ocd_connect_flags; + exp->exp_mdt_data.med_ibits_known = reply->ocd_ibits_known; + exp->exp_connect_data.ocd_brw_size = reply->ocd_brw_size; spin_unlock(&exp->exp_lock); rc = mdt_init_idmap(info); @@ -5421,8 +5423,6 @@ static int mdt_connect_internal(struct obd_export *exp, } data->ocd_version = LUSTRE_VERSION_CODE; - exp->exp_connect_data = *data; - exp->exp_mdt_data.med_ibits_known = data->ocd_ibits_known; if ((data->ocd_connect_flags & OBD_CONNECT_FID) == 0) { CWARN("%s: MDS requires FID support, but client not\n", -- 1.8.3.1