|
@@ -1214,7 +1214,7 @@ static int mirror_map(struct dm_target *ti, struct bio *bio)
|
|
*/
|
|
*/
|
|
if (!r || (r == -EWOULDBLOCK)) {
|
|
if (!r || (r == -EWOULDBLOCK)) {
|
|
if (bio->bi_opf & REQ_RAHEAD)
|
|
if (bio->bi_opf & REQ_RAHEAD)
|
|
- return -EWOULDBLOCK;
|
|
|
|
|
|
+ return -EIO;
|
|
|
|
|
|
queue_bio(ms, bio, rw);
|
|
queue_bio(ms, bio, rw);
|
|
return DM_MAPIO_SUBMITTED;
|
|
return DM_MAPIO_SUBMITTED;
|
|
@@ -1258,7 +1258,7 @@ static int mirror_end_io(struct dm_target *ti, struct bio *bio, int error)
|
|
if (error == -EOPNOTSUPP)
|
|
if (error == -EOPNOTSUPP)
|
|
return error;
|
|
return error;
|
|
|
|
|
|
- if ((error == -EWOULDBLOCK) && (bio->bi_opf & REQ_RAHEAD))
|
|
|
|
|
|
+ if (bio->bi_opf & REQ_RAHEAD)
|
|
return error;
|
|
return error;
|
|
|
|
|
|
if (unlikely(error)) {
|
|
if (unlikely(error)) {
|