From: Niu Yawei Date: Thu, 17 Nov 2016 01:05:30 +0000 (-0500) Subject: staging/lustre/ptlrpc: update imp_known_replied_xid on resend-replay X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a3078477d52e2a3ae31160f4b088604845874043;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git staging/lustre/ptlrpc: update imp_known_replied_xid on resend-replay 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 Reviewed-on: http://review.whamcloud.com/22776 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8645 Reviewed-by: Alex Zhuravlev Reviewed-by: Fan Yong Signed-off-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lustre/ptlrpc/recover.c b/drivers/staging/lustre/lustre/ptlrpc/recover.c index 344aedd5bd59..c00449036884 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);