dm flakey: error READ bios during the down_interval
authorMike Snitzer <snitzer@redhat.com>
Fri, 29 Jul 2016 17:19:55 +0000 (13:19 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 20 Nov 2016 01:01:30 +0000 (01:01 +0000)
commit9994ec5fe7bb32bd2d36632c2250003d94a7f3c5
tree8d31cef3bcdd1b5969b8f8e000b7a4eb67e837c5
parentbe1fc38a6f84a2b3b5d648ced2ce5d9b36851868
dm flakey: error READ bios during the down_interval

commit 99f3c90d0d85708e7401a81ce3314e50bf7f2819 upstream.

When the corrupt_bio_byte feature was introduced it caused READ bios to
no longer be errored with -EIO during the down_interval.  This had to do
with the complexity of needing to submit READs if the corrupt_bio_byte
feature was used.

Fix it so READ bios are properly errored with -EIO; doing so early in
flakey_map() as long as there isn't a match for the corrupt_bio_byte
feature.

Fixes: a3998799fb4df ("dm flakey: add corrupt_bio_byte feature")
Reported-by: Akira Hayakawa <ruby.wktk@gmail.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
[bwh: Backported to 3.2: in flakey_end_io(), keep using
 bio_submitted_while_down instead of pb->bio_submitted]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/md/dm-flakey.c