Message ID | 20230405142017.2446986-8-sth@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390/dasd: add dasd autoquiesce feature | expand |
On Wed, 5 Apr 2023 16:20:17 +0200 Stefan Haberland <sth@linux.ibm.com> wrote: > The DASD driver does not kick the requeue list when requeuing IO requests > to the blocklayer. This might lead to hanging blockdevice when there is > no other trigger for this. > > Fix by automatically kick the requeue list when requeuing DASD requests > to the blocklayer. > > Fixes: e443343e509a ("s390/dasd: blk-mq conversion") > CC: stable@vger.kernel.org # 4.14+ > Signed-off-by: Stefan Haberland <sth@linux.ibm.com> > Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.ibm.com> [..]
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 3696931f8015..9fbfce735d56 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -2953,7 +2953,7 @@ static int _dasd_requeue_request(struct dasd_ccw_req *cqr) return 0; spin_lock_irq(&cqr->dq->lock); req = (struct request *) cqr->callback_data; - blk_mq_requeue_request(req, false); + blk_mq_requeue_request(req, true); spin_unlock_irq(&cqr->dq->lock); return 0;