]> git.baikalelectronics.ru Git - kernel.git/commit
dm mirror: use all available legs on multiple failures
authorHeinz Mauelshagen <heinzm@redhat.com>
Mon, 10 Oct 2016 16:48:06 +0000 (18:48 +0200)
committerMike Snitzer <snitzer@redhat.com>
Fri, 14 Oct 2016 15:55:17 +0000 (11:55 -0400)
commite3eb461d2a1f710e1380ae12f774749bceeaa117
tree8e492c8a13d3a79a81e39d1a7cb16fcd3b85dbea
parent52eb0ec8b90c43ca9a464f74f67bf2d3cc8dd75b
dm mirror: use all available legs on multiple failures

When any leg(s) have failed, any read will cause a new operational
default leg to be selected and the read is resubmitted to it.  If that
new default leg fails the read too, no other still accessible legs are
used to resubmit the read again -- thus failing the io.

Fix by allowing the read to get resubmitted until all operational legs
have been exhausted.  Also, remove any details.bi_dev use as a flag.

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-raid1.c