LU-12328 flr: avoid reading unhealthy mirror
* Fix an error in lov_io_mirror_init() which would wait unnecessarily
if we're retrying the last mirror of the file.
* In osc_io_iter_init() we'd check its OSC import status so that the
read path can quickly switch another mirror.
sanity-flr test_33b is added to test this case.
* And with all mirrors have been tried, we'd turn off the quick switch
so that when all mirrors contain bad OSTs, the read will still try
its best to get partial data from a component before trying another
mirror.
sanity-flr test_33c is added to test this case.
Test-Parameters: envdefinitions=ONLY="33" testlist=sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr,sanity-flr
Fixes:
5a6ceb664f07 ("LU-7236 ptlrpc: idle connections can disconnect")
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I5621a834e58ee1bfccf6c407d2c68357b5c3eb3b
Reviewed-on: https://review.whamcloud.com/34952
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>