ENTRY;
CDEBUG(D_HA, "%s: starting recovery\n", obd2cli_tgt(imp->imp_obd));
- ptlrpc_connect_import(imp, NULL);
+ ptlrpc_connect_import(imp);
EXIT;
}
}
/* to control recovery via lctl {disable|enable}_recovery */
if (imp->imp_deactive == 0)
- ptlrpc_connect_import(imp, NULL);
+ ptlrpc_connect_import(imp);
}
/* Wait for recovery to complete and resend. If evicted, then
/* force import to be disconnected. */
ptlrpc_set_import_discon(imp, 0);
+ if (new_uuid) {
+ struct obd_uuid uuid;
+
+ /* intruct import to use new uuid */
+ obd_str2uuid(&uuid, new_uuid);
+ rc = import_set_conn_priority(imp, &uuid);
+ if (rc)
+ GOTO(out, rc);
+ }
+
/* Check if reconnect is already in progress */
cfs_spin_lock(&imp->imp_lock);
- if (imp->imp_state != LUSTRE_IMP_DISCON)
+ if (imp->imp_state != LUSTRE_IMP_DISCON) {
+ imp->imp_force_verify = 1;
rc = -EALREADY;
+ }
cfs_spin_unlock(&imp->imp_lock);
if (rc)
GOTO(out, rc);
- rc = ptlrpc_connect_import(imp, new_uuid);
+ rc = ptlrpc_connect_import(imp);
if (rc)
GOTO(out, rc);