Whamcloud - gitweb
LU-5951 ptlrpc: track unreplied requests 59/16759/4
authorNiu Yawei <yawei.niu@intel.com>
Thu, 8 Oct 2015 02:14:56 +0000 (22:14 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 9 Dec 2015 02:35:28 +0000 (02:35 +0000)
commit8c69ef1e5caf3b6800e83bb73696b4bd1ae6e613
tree0bf4d92b5065b2d06a364ec73b0d9953ad1e6197
parent3f4572caef5f25f4a9b5347b2ccf933fdad9db9c
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: Ic98e1599085871c0ac08d28609a044c79d5af75d
Reviewed-on: http://review.whamcloud.com/16759
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