aboutsummaryrefslogtreecommitdiff
path: root/drivers/block/drbd/drbd_req.c
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2012-06-08 16:30:30 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 16:58:32 +0100
commitab53b90e89eb2421a607655cab426232fdd82f6f (patch)
tree02474e043a62020e39d98beb4eadf30c846a9aa5 /drivers/block/drbd/drbd_req.c
parent1b6f19740da8e7ed2d1216dc69a972d10de4f0e9 (diff)
downloadvexpress-lsk-ab53b90e89eb2421a607655cab426232fdd82f6f.tar.gz
drbd: fix local read error hung forever
The commit drbd: simplify retry path of failed READ requests simplified it too much: it just did not do anything for local read errors. Add the missing req_may_be_completed_not_susp() to the READ_COMPLETED_WITH_ERROR case. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_req.c')
-rw-r--r--drivers/block/drbd/drbd_req.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index 44a7d6ba4e4..d0d516743fb 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -460,6 +460,7 @@ int __req_mod(struct drbd_request *req, enum drbd_req_event what,
D_ASSERT(!(req->rq_state & RQ_NET_MASK));
__drbd_chk_io_error(mdev, false);
+ req_may_be_completed_not_susp(req, m);
break;
case QUEUE_FOR_NET_READ: