Check the uptodate flag in sub-bios to see if there was an error. [Mike Christie] --- diff/drivers/md/dm.c 2004-03-16 11:27:48.161865944 +0000 +++ source/drivers/md/dm.c 2004-03-16 11:39:29.021319112 +0000 @@ -294,6 +294,9 @@ static int clone_endio(struct bio *bio, if (bio->bi_size) return 1; + if (!bio_flagged(bio, BIO_UPTODATE) && !error) + error = -EIO; + if (endio) { r = endio(tio->ti, bio, error, &tio->info); if (r < 0)