MRP-542 tests: test data integrity during OSS failover

This test checks to see if the scenario in MRP-542 is
reproducible.

Change-Id: I58fbf1c1dc6e3ff05798b08564c5deaec1288f94
Signed-off-by: Andrew Perepechko <andrew_perepechko@xyratex.com>
Signed-off-by: Parinay Kondekar <parinay_kondekar@xyratex.com>
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/3370
Tested-by: Jenkins
Reviewed-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Tested-by: Alexander Lezhoev <alexander_lezhoev@xyratex.com>
Reviewed-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
MRP-542 recovery: DIO requests should not be sent on replay Q

When there is a userland app doing DIO and OBD failsover,
obd->obd_no_transno is set to 1 & last_committed on server is
not sent to the client.  Thus client is not sure, if the req
s _committed_ to disk or not. So it removes the req from
resend queue and adds it to replay queue.

Now trans_no > last_committed, thus after reconnect, as a
part of recovery process, request is replayed. Userland app,
refills the DIO buffer with different data, thus invalid data
is committed resulting in corruption.

This change, avoids the client replay by sending across the
last_committed to client. This avoids the replay and thus
the corruption.

Change-Id: I414dbcff6db9702d885b0acba81386d594e6dd3a
Signed-off-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Signed-off-by: Parinay Kondekar <parinay_kondekar@xyratex.com>
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/3358
Reviewed-by: Alexander Zarochentsev <alexander_zarochentsev@xyratex.com>
Tested-by: Jenkins
Tested-by: Alexander Lezhoev <alexander_lezhoev@xyratex.com>
Reviewed-by: Vitaly Fertman <vitaly_fertman@xyratex.com>