Just return an error from the error targets map function, rather than
erroring the buffer_head.
--- diff/drivers/md/dm-target.c 2003-01-10 10:19:46.000000000 +0000
+++ source/drivers/md/dm-target.c 2003-01-10 10:20:03.000000000 +0000
@@ -161,8 +161,7 @@
static int io_err_map(struct dm_target *ti, struct buffer_head *bh, int rw)
{
- buffer_IO_error(bh);
- return 0;
+ return -EIO;
}
static struct target_type error_target = {