From 3a2dfa56b3bf3ef4a037e3d76b1009a0a39da58b Mon Sep 17 00:00:00 2001 From: rread Date: Tue, 1 Jul 2003 07:35:18 +0000 Subject: [PATCH] b=1424 r=shaver,others - cleanup import level and generation - fixes several bugs: b=1420 ost and client both timeout, client never reconnects b=1440 very small change to call the lov set_active in recovery b=1448 another small change to send DISCONNECT at a normal level --- lustre/ldlm/ldlm_lib.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c index 782ccca..9b53b54 100644 --- a/lustre/ldlm/ldlm_lib.c +++ b/lustre/ldlm/ldlm_lib.c @@ -152,7 +152,7 @@ int client_import_disconnect(struct lustre_handle *dlm_handle, int failover) /* Yeah, obd_no_recov also (mainly) means "forced shutdown". */ if (obd->obd_no_recov) { - ptlrpc_abort_inflight(imp); + ptlrpc_set_import_active(imp, 0); } else { request = ptlrpc_prep_req(imp, rq_opc, 0, NULL, NULL); if (!request) @@ -160,9 +160,6 @@ int client_import_disconnect(struct lustre_handle *dlm_handle, int failover) request->rq_replen = lustre_msg_size(0, NULL); - /* Process disconnects even if we're waiting for recovery. */ - request->rq_level = LUSTRE_CONN_RECOVD; - rc = ptlrpc_queue_wait(request); if (rc) GOTO(out_req, rc); @@ -472,6 +469,7 @@ void target_abort_recovery(void *data) class_disconnect_exports(obd, 0); abort_delayed_replies(obd); abort_recovery_queue(obd); + ptlrpc_run_recovery_over_upcall(obd); } static void target_recovery_expired(unsigned long castmeharder) -- 1.8.3.1