Whamcloud - gitweb
b=21587 don't LBUG if transno has changed during replay v1_8_5_RC3
authorAndrew Perepechko <Andrew.Perepechko@sun.com>
Wed, 27 Oct 2010 04:54:18 +0000 (12:54 +0800)
committerJohann Lombardi <johann.lombardi@oracle.com>
Wed, 27 Oct 2010 04:54:18 +0000 (12:54 +0800)
i=johann
i=tappro

lustre/include/lustre_net.h
lustre/ptlrpc/client.c
lustre/ptlrpc/import.c

index e82c7e3..20196cd 100644 (file)
@@ -835,6 +835,7 @@ int ptlrpc_unregister_reply(struct ptlrpc_request *req, int async);
 void ptlrpc_restart_req(struct ptlrpc_request *req);
 void ptlrpc_abort_inflight(struct obd_import *imp);
 void ptlrpc_cleanup_imp(struct obd_import *imp);
+void ptlrpc_evict_imp(struct obd_import *imp);
 void ptlrpc_abort_set(struct ptlrpc_request_set *set);
 
 struct ptlrpc_request_set *ptlrpc_prep_set(void);
index 8ad465a..2489d10 100644 (file)
@@ -2314,7 +2314,7 @@ static int ptlrpc_replay_interpret(struct ptlrpc_request *req,
                                   "replay ("LPU64"/"LPU64")\n",
                                   lustre_msg_get_transno(req->rq_reqmsg),
                                   lustre_msg_get_transno(req->rq_repmsg));
-                        LBUG();
+                        ptlrpc_evict_imp(imp);
                 }
         }
 
index d6d97b6..bec8c87 100644 (file)
@@ -1429,6 +1429,13 @@ void ptlrpc_import_setasync(struct obd_import *imp, int count)
         LNetSetAsync(imp->imp_connection->c_peer, count);
 }
 
+void ptlrpc_evict_imp(struct obd_import *imp)
+{
+        ENTRY;
+        IMPORT_SET_STATE(imp, LUSTRE_IMP_EVICTED);
+        EXIT;
+}
+
 void ptlrpc_cleanup_imp(struct obd_import *imp)
 {
         ENTRY;