Message ID | 1476115103-23203-1-git-send-email-heinzm@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Mike Snitzer |
Headers | show |
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index bdf1606..7a6254d 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c @@ -1292,6 +1292,7 @@ static int mirror_end_io(struct dm_target *ti, struct bio *bio, int error) dm_bio_restore(bd, bio); bio_record->details.bi_bdev = NULL; + bio->bi_error = 0; queue_bio(ms, bio, rw); return DM_ENDIO_INCOMPLETE;
In case the default leg of a "mirror" target fails, any read will cause a new, operational default leg to be selected and the read be resubmitted to it. Nonetheless that io succeeds, an error will be reported back because bio->bi_error was not cleared properly. Fix by clearing bio->bi_error before resubmission. Resolves: rhbz1382516 Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> --- drivers/md/dm-raid1.c | 1 + 1 file changed, 1 insertion(+)