From c386c3cd6b7ba1958805d76a2292ed71d563abde Mon Sep 17 00:00:00 2001 From: Andrew Perepechko Date: Wed, 27 Oct 2010 12:54:18 +0800 Subject: [PATCH] b=21587 don't LBUG if transno has changed during replay i=johann i=tappro --- lustre/include/lustre_net.h | 1 + lustre/ptlrpc/client.c | 2 +- lustre/ptlrpc/import.c | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lustre/include/lustre_net.h b/lustre/include/lustre_net.h index e82c7e3..20196cd 100644 --- a/lustre/include/lustre_net.h +++ b/lustre/include/lustre_net.h @@ -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); diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 8ad465a..2489d10 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -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); } } diff --git a/lustre/ptlrpc/import.c b/lustre/ptlrpc/import.c index d6d97b6..bec8c87 100644 --- a/lustre/ptlrpc/import.c +++ b/lustre/ptlrpc/import.c @@ -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; -- 1.8.3.1