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)
commit12a7cf5ba6c776a2621d8972c7d42e8d3d959d20
tree8e492c8a13d3a79a81e39d1a7cb16fcd3b85dbea
parentdcb2ff56417362c31f6b430c3c531a84581e8721
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