Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-9274 ptlrpc: add replay request into unreplied list
[fs/lustre-release.git]
/
lustre
/
ptlrpc
/
recover.c
diff --git
a/lustre/ptlrpc/recover.c
b/lustre/ptlrpc/recover.c
index
f510b74
..
c526e9e
100644
(file)
--- a/
lustre/ptlrpc/recover.c
+++ b/
lustre/ptlrpc/recover.c
@@
-140,10
+140,13
@@
int ptlrpc_replay_next(struct obd_import *imp, int *inflight)
if (req != NULL && imp->imp_resend_replay)
lustre_msg_add_flags(req->rq_reqmsg, MSG_RESENT);
if (req != NULL && imp->imp_resend_replay)
lustre_msg_add_flags(req->rq_reqmsg, MSG_RESENT);
- /* The resend replay request may have been removed from the
+ /* ptlrpc_prepare_replay() may fail to add the reqeust into unreplied
+ * list if the request hasn't been added to replay list then. Another
+ * exception is that resend replay could have been removed from the
* unreplied list. */
* unreplied list. */
- if (req != NULL && imp->imp_resend_replay &&
- list_empty(&req->rq_unreplied_list)) {
+ if (req != NULL && list_empty(&req->rq_unreplied_list)) {
+ DEBUG_REQ(D_HA, req, "resend_replay: %d, last_transno: %llu\n",
+ imp->imp_resend_replay, last_transno);
ptlrpc_add_unreplied(req);
imp->imp_known_replied_xid = ptlrpc_known_replied_xid(imp);
}
ptlrpc_add_unreplied(req);
imp->imp_known_replied_xid = ptlrpc_known_replied_xid(imp);
}
@@
-152,8
+155,6
@@
int ptlrpc_replay_next(struct obd_import *imp, int *inflight)
spin_unlock(&imp->imp_lock);
if (req != NULL) {
spin_unlock(&imp->imp_lock);
if (req != NULL) {
- /* The request should have been added back in unreplied list
- * by ptlrpc_prepare_replay(). */
LASSERT(!list_empty(&req->rq_unreplied_list));
rc = ptlrpc_replay_req(req);
LASSERT(!list_empty(&req->rq_unreplied_list));
rc = ptlrpc_replay_req(req);