Whamcloud - gitweb
LU-5651: ptlrpc: fix import state during replay 63/12163/8
authorAndriy Skulysh <Andriy_Skulysh@xyratex.com>
Thu, 11 Dec 2014 18:29:10 +0000 (13:29 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 15 Jan 2015 04:45:28 +0000 (04:45 +0000)
commit5748379d28846c672f793ba1f8e143e63531dd05
tree07ff5dffd9112d414af450e8d2f75fcd3f1419f8
parente5966bdbb7c7644cc04580ad6b4a9006def3f758
LU-5651: ptlrpc: fix import state during replay

Client doesn't restore import state correctly
on reconnect during replay. It resends lock replay
when final ping was queued by server.
Server fails with "target_queue_recovery_request())
ASSERTION( req->rq_export->exp_lock_replay_needed ) failed"

Add imp_replay_state to store last replay state.
imp_state is restored from imp_replay_state
during reconnect.

Lustre-commit: f61cec84e61e4be07ab741dd0fbeac3b4a388eef
Lustre-change: http://review.whamcloud.com/#/c/12015

The new test for replay-single will only work for lustre
versions that contain commit f61cec84. This patch does
lustre version checking to over failing on platforms that
are not fixed.

Lustre-commit: afde9f17260650d0cb80d53613fb5afda0a39384
Lustre-change: http://review.whamcloud.com/#/c/12942

Xyratex-bug-id: MRP-2022
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Change-Id: Iaa14fe968cc31f266b605785df4fa676083fbca4
Reviewed-on: http://review.whamcloud.com/12163
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_import.h
lustre/include/obd_support.h
lustre/ldlm/ldlm_lib.c
lustre/ptlrpc/import.c
lustre/ptlrpc/service.c
lustre/tests/replay-single.sh