commit 4f58802fae8a51d9e79454746584175c14f84519 tree 022533cfacde17b54e8f9b7ac3f12c82ed1c48be parent 05062d96a23ec0959ee5ea969f40813170c73c0e author Lars Marowsky-Bree Wed, 08 Jun 2005 15:50:31 -0700 committer Linus Torvalds Wed, 08 Jun 2005 16:21:14 -0700 [PATCH] dm: Handle READA requests in dm-mpath.c READA errors failing with EWOULDBLOCK/EAGAIN do not constitute a valid reason for failing the path; this lead to erratic errors on DM multipath devices. This error can be safely propagated upwards without failing the path. Acked-by: Kevin Corry Acked-by: Jens Axboe Signed-off-by: Lars Marowsky-Bree Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [Upstream] --- diff/drivers/md/dm-mpath.c 2005-05-04 15:03:56.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2005-06-29 18:05:25.000000000 +0100 @@ -1012,6 +1012,9 @@ mpio->pgpath ? mpio->pgpath->path.dev->name : "NULL", bio->bi_sector); + if ((error == -EWOULDBLOCK) && bio_rw_ahead(bio)) + return error; + spin_lock(&m->lock); if (!m->nr_valid_paths) { DMWARN("dm-multipath: no valid paths left");