s390/dasd: fix unresumed device after suspend/resume
The DASD device driver only has a limited amount of memory to build I/O requests. This memory was used by blocklayer requests leading to an inability to build needed internal requests to resume the device. Fix by preventing the DASD driver to fetch requests for a stopped device. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Reference-ID: RQM 2520 Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
f2608cd4a3
Коммит
a3147a7bc2
|
@ -2527,6 +2527,11 @@ static void __dasd_process_request_queue(struct dasd_block *block)
|
|||
__blk_end_request_all(req, -EIO);
|
||||
return;
|
||||
}
|
||||
|
||||
/* if device ist stopped do not fetch new requests */
|
||||
if (basedev->stopped)
|
||||
return;
|
||||
|
||||
/* Now we try to fetch requests from the request queue */
|
||||
while ((req = blk_peek_request(queue))) {
|
||||
if (basedev->features & DASD_FEATURE_READONLY &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче