Whamcloud - gitweb
LU-12328 flr: avoid reading unhealthy mirror 50/36550/2
authorBobi Jam <bobijam@whamcloud.com>
Fri, 24 May 2019 17:40:25 +0000 (01:40 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 21 Nov 2019 07:35:23 +0000 (07:35 +0000)
commit02affb11d4162f23eadef7e0ed15982e11005a41
treecefaed61066412960df849e5320ae57bf326e66d
parentefcdfe9e075fdfa334d16bcb53399f2978c16d42
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.

Lustre-change: https://review.whamcloud.com/34952
Lustre-commit: 39da3c06275e04e2a6e7f055cb27ee9dff1ea576

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-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/36550
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/cl_object.h
lustre/lov/lov_io.c
lustre/osc/osc_io.c
lustre/tests/sanity-flr.sh