mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
[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 <[email protected]> Acked-by: Jens Axboe <[email protected]> Signed-off-by: Lars Marowsky-Bree <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
05062d96a2
commit
4f58802fae
1 changed files with 3 additions and 0 deletions
|
|
@ -985,6 +985,9 @@ static int do_end_io(struct multipath *m, struct bio *bio,
|
|||
if (!error)
|
||||
return 0; /* I/O complete */
|
||||
|
||||
if ((error == -EWOULDBLOCK) && bio_rw_ahead(bio))
|
||||
return error;
|
||||
|
||||
spin_lock(&m->lock);
|
||||
if (!m->nr_valid_paths) {
|
||||
if (!m->queue_if_no_path || m->suspended) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue