rc = obd_connect(&conn, target, cluuid, ptlrpc_recovd,
target_revoke_connection);
- if (rc)
+ /* EALREADY indicates a reconnection, send the reply normally. */
+ if (rc && rc != EALREADY)
GOTO(out, rc);
rc = lustre_pack_msg(0, NULL, NULL, &req->rq_replen, &req->rq_repmsg);
dlmimp->imp_handle.addr = req->rq_reqmsg->addr;
dlmimp->imp_handle.cookie = req->rq_reqmsg->cookie;
dlmimp->imp_obd = /* LDLM! */ NULL;
-
- req->rq_connection->c_level = LUSTRE_CONN_FULL;
+ spin_lock_init(&dlmimp->imp_lock);
+ dlmimp->imp_level = LUSTRE_CONN_FULL;
out:
req->rq_status = rc;
RETURN(rc);
{
ENTRY;
- conn->c_level = LUSTRE_CONN_RECOVD;
conn->c_recovd_data.rd_phase = RD_PREPARED;
RETURN(0);