From: Andriy Skulysh Date: Tue, 20 Aug 2013 10:47:20 +0000 (+0300) Subject: LU-3781 mdt: Atomically update MDT exp_connect_data X-Git-Tag: 2.4.1~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=61f2ae6d4e711a24963b68851d2977aab0b49e5b;p=fs%2Flustre-release.git 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 --- diff --git a/lustre/mdt/mdt_handler.c b/lustre/mdt/mdt_handler.c index 12b1b2d..05c830e 100644 --- a/lustre/mdt/mdt_handler.c +++ b/lustre/mdt/mdt_handler.c @@ -1584,6 +1584,8 @@ int mdt_connect(struct mdt_thread_info *info) exp = req->rq_export; 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); @@ -5211,8 +5213,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",