Whamcloud - gitweb
LU-3781 mdt: Atomically update MDT exp_connect_data 91/7391/2
authorAndriy Skulysh <Andriy_Skulysh@xyratex.com>
Tue, 20 Aug 2013 10:47:20 +0000 (13:47 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 5 Sep 2013 20:53:35 +0000 (20:53 +0000)
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 <Andriy_Skulysh@xyratex.com>
Change-Id: I71ab4d8917bba8ce12fd9af933885796869321e6
Reviewed-on: http://review.whamcloud.com/7391
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
lustre/mdt/mdt_handler.c

index a3b2a1d..9108cfb 100644 (file)
@@ -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",