From: Hannes Reinecke <hare@suse.de>
To: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: linux-kernel@vger.kernel.org, Stefan Weinhuber <wein@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Hannes Reinecke <hare@suse.de>
Subject: [PATCH 3/9] dasd: process all requests in the device tasklet
Date: Wed, 30 Jan 2013 10:26:13 +0100 [thread overview]
Message-ID: <1359537979-39483-4-git-send-email-hare@suse.de> (raw)
In-Reply-To: <1359537979-39483-1-git-send-email-hare@suse.de>
Originally the DASD device tasklet would process the entries on
the ccw_queue until the first non-final request was found.
Which was okay as long as all requests have the same retries and
expires parameter.
However, as we're now allowing to modify both it is possible to
have requests _after_ the first request which already have expired.
So we need to check all requests in the device tasklet.
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
drivers/s390/block/dasd.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 09ddf70..20b7517 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -1778,11 +1778,11 @@ static void __dasd_device_process_ccw_queue(struct dasd_device *device,
list_for_each_safe(l, n, &device->ccw_queue) {
cqr = list_entry(l, struct dasd_ccw_req, devlist);
- /* Stop list processing at the first non-final request. */
+ /* Skip any non-final request. */
if (cqr->status == DASD_CQR_QUEUED ||
cqr->status == DASD_CQR_IN_IO ||
cqr->status == DASD_CQR_CLEAR_PENDING)
- break;
+ continue;
if (cqr->status == DASD_CQR_ERROR) {
__dasd_device_recovery(device, cqr);
}
--
1.7.4.2
next prev parent reply other threads:[~2013-01-30 9:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-30 9:26 [PATCH 0/9][v2] dasd: implement block timeout Hannes Reinecke
2013-01-30 9:26 ` [PATCH 1/9] dasd: Clarify comment Hannes Reinecke
2013-01-30 9:26 ` [PATCH 2/9] dasd: make number of retries configurable Hannes Reinecke
2013-01-30 9:26 ` Hannes Reinecke [this message]
2013-01-30 9:26 ` [PATCH 4/9] dasd: Implement block timeout handling Hannes Reinecke
2013-01-30 9:26 ` [PATCH 5/9] dasd: Reduce amount of messages for specific errors Hannes Reinecke
2013-01-30 9:26 ` [PATCH 6/9] dasd: detailed I/O errors Hannes Reinecke
2013-01-30 9:26 ` [PATCH 7/9] block: check for timeout function in blk_rq_timed_out() Hannes Reinecke
2013-01-30 9:26 ` [PATCH 8/9] dasd: Add 'timeout' attribute Hannes Reinecke
2013-01-30 9:26 ` [PATCH 9/9] dasd: Fail all requests when DASD_FLAG_ABORTIO is set Hannes Reinecke
2013-01-30 16:15 ` [PATCH 0/9][v2] dasd: implement block timeout Stefan Weinhuber
-- strict thread matches above, loose matches on Subject: below --
2013-06-03 15:03 [PATCH 0/9] " Martin Schwidefsky
2013-06-03 15:03 ` [PATCH 3/9] dasd: process all requests in the device tasklet Martin Schwidefsky
2013-01-29 7:11 [PATCH 0/9] dasd: implement block timeout Hannes Reinecke
2013-01-29 7:11 ` [PATCH 3/9] dasd: process all requests in the device tasklet Hannes Reinecke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359537979-39483-4-git-send-email-hare@suse.de \
--to=hare@suse.de \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=schwidefsky@de.ibm.com \
--cc=wein@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).