@@ -602,11 +602,12 @@ int ptlrpc_connect_import(struct obd_import *imp)
int set_transno = 0;
u64 committed_before_reconnect = 0;
struct ptlrpc_request *request;
+ struct obd_connect_data ocd;
char *bufs[] = { NULL,
obd2cli_tgt(imp->imp_obd),
obd->obd_uuid.uuid,
(char *)&imp->imp_dlm_handle,
- (char *)&imp->imp_connect_data,
+ (char *)&ocd,
NULL };
struct ptlrpc_connect_async_args *aa;
int rc;
@@ -653,15 +654,16 @@ int ptlrpc_connect_import(struct obd_import *imp)
/* Reset connect flags to the originally requested flags, in case
* the server is updated on-the-fly we will get the new features.
*/
- imp->imp_connect_data.ocd_connect_flags = imp->imp_connect_flags_orig;
- imp->imp_connect_data.ocd_connect_flags2 = imp->imp_connect_flags2_orig;
+ ocd = imp->imp_connect_data;
+ ocd.ocd_connect_flags = imp->imp_connect_flags_orig;
+ ocd.ocd_connect_flags2 = imp->imp_connect_flags2_orig;
/* Reset ocd_version each time so the server knows the exact versions */
- imp->imp_connect_data.ocd_version = LUSTRE_VERSION_CODE;
+ ocd.ocd_version = LUSTRE_VERSION_CODE;
imp->imp_msghdr_flags &= ~MSGHDR_AT_SUPPORT;
imp->imp_msghdr_flags &= ~MSGHDR_CKSUM_INCOMPAT18;
rc = obd_reconnect(NULL, imp->imp_obd->obd_self_export, obd,
- &obd->obd_uuid, &imp->imp_connect_data, NULL);
+ &obd->obd_uuid, &ocd, NULL);
if (rc)
goto out;