Silently ignore 'errors' for read ahead bios. They can fail in __make_request with a EWOULDBLOCK. Signed-off-by: Lars Marowsky-Bree <lmb@xxxxxxx> Index: linux-2.6.5/drivers/md/dm-mpath.c =================================================================== --- linux-2.6.5.orig/drivers/md/dm-mpath.c 2005-01-19 14:41:17.000000000 +0100 +++ linux-2.6.5/drivers/md/dm-mpath.c 2005-01-21 18:23:07.053071996 +0100 @@ -962,7 +975,9 @@ static int do_end_io(struct multipath *m struct hw_handler *hwh = &m->hw_handler; unsigned err_flags = MP_FAIL_PATH; /* Default behavior */ - if (!error) + /* Silently drop reada errors, since they don't indicate real IO + * errors */ + if (!error || bio_rw_ahead(bio)) return 0; /* I/O complete */ spin_lock(&m->lock);