[PATCH 2/2] staging/lustre/ptlrpc: update imp_known_replied_xid on resend-replay
From: Oleg Drokin
Date: Wed Nov 16 2016 - 20:06:28 EST
From: Niu Yawei <yawei.niu@xxxxxxxxx>
The imp_known_replied_xid should be updated when try to resend
an already replied replay request, because the xid of this replay
request could be less than current imp_known_replied_xid.
Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx>
Reviewed-on: http://review.whamcloud.com/22776
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8645
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx>
Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx>
Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx>
---
drivers/staging/lustre/lustre/ptlrpc/recover.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/lustre/lustre/ptlrpc/recover.c b/drivers/staging/lustre/lustre/ptlrpc/recover.c
index 344aedd..c004490 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/recover.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/recover.c
@@ -161,8 +161,10 @@ int ptlrpc_replay_next(struct obd_import *imp, int *inflight)
* unreplied list.
*/
if (req && imp->imp_resend_replay &&
- list_empty(&req->rq_unreplied_list))
+ list_empty(&req->rq_unreplied_list)) {
ptlrpc_add_unreplied(req);
+ imp->imp_known_replied_xid = ptlrpc_known_replied_xid(imp);
+ }
imp->imp_resend_replay = 0;
spin_unlock(&imp->imp_lock);
--
2.7.4