Whamcloud - gitweb
LU-5951 ptlrpc: track unreplied requests 73/15473/20
authorNiu Yawei <yawei.niu@intel.com>
Thu, 2 Jul 2015 15:46:22 +0000 (11:46 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 2 Oct 2015 04:13:50 +0000 (04:13 +0000)
commitc77e504fdac12d3be7d19a652d6c7da497018c76
treeb74980adba1aa85b4d42f76109c0207fc907f76c
parente8b421531c166b91ab5c1f417570c544bcdd050c
LU-5951 ptlrpc: track unreplied requests

The request xid was used to make sure the ost object timestamps
being updated by the out of order setattr/punch/write requests
properly. However, this mechanism is broken by the multiple rcvd
slot feature, where we deferred the xid assignment from request
packing to request sending.

This patch moved back the xid assignment to request packing, and
the manner of finding lowest unreplied xid is changed from scan
sending & delay list to scan a unreplied requests list.

This patch also skipped packing the known replied XID in connect
and disconnect request, so that we can make sure the known replied
XID is increased only on both server & client side.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Ib079b2029680934a4c448da766bf0e42d580be26
Reviewed-on: http://review.whamcloud.com/15473
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Grégoire Pichon <gregoire.pichon@bull.net>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_import.h
lustre/include/lustre_net.h
lustre/obdclass/genops.c
lustre/ptlrpc/client.c
lustre/ptlrpc/import.c
lustre/ptlrpc/niobuf.c
lustre/ptlrpc/ptlrpc_internal.h
lustre/ptlrpc/recover.c
lustre/target/tgt_handler.c