LU-7285 update: update next transno only if recovery succeeds
Update obd_next_recovery_transno only if update recovery
succeeds, otherwise if client send replay request with the
same transno, it will cause panic in check_for_next_transno()
LustreError: 4529:0:(ldlm_lib.c:1826:check_for_next_transno())
ASSERTION( req_transno >= next_transno ) failed: req_transno:
1404455952555, next_transno:
1404455952556
LustreError: 4529:0:(ldlm_lib.c:1826:check_for_next_transno()) LBUG
Call Trace:
[<
ffffffffa074c875>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
[<
ffffffffa074ce77>] lbug_with_loc+0x47/0xb0 [libcfs]
[<
ffffffffa0a8640c>] check_for_next_transno+0x68c/0x6d0 [ptlrpc]
[<
ffffffffa089a6ed>] ? keys_fini+0x16d/0x240 [obdclass]
[<
ffffffffa0a85d80>] ? check_for_next_transno+0x0/0x6d0 [ptlrpc]
[<
ffffffffa0a82883>] target_recovery_overseer+0x93/0x320 [ptlrpc]
[<
ffffffffa0a81000>] ? exp_req_replay_healthy+0x0/0x30 [ptlrpc]
[<
ffffffffa0a89510>] target_recovery_thread+0x6d0/0x2380 [ptlrpc]
[<
ffffffffa0a88e40>] ? target_recovery_thread+0x0/0x2380 [ptlrpc]
[<
ffffffff8109e78e>] kthread+0x9e/0xc0
Add replay-single.sh 71a to verify double MDTs failover.
Signed-off-by: Di Wang <di.wang@intel.com>
Change-Id: Id74768a851985a1cec53e6bce28a0bf00b3fc1c7
Reviewed-on: http://review.whamcloud.com/16799
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>