[S390] dasd: fix loop in request expiration handling
Add time to the 'expires' value to avoid a loop caused by the cqr termination function Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
028fed8233
Коммит
7dc1da9ffa
|
@ -1197,12 +1197,13 @@ static void __dasd_device_check_expire(struct dasd_device *device)
|
|||
(time_after_eq(jiffies, cqr->expires + cqr->starttime))) {
|
||||
if (device->discipline->term_IO(cqr) != 0) {
|
||||
/* Hmpf, try again in 5 sec */
|
||||
dasd_device_set_timer(device, 5*HZ);
|
||||
DEV_MESSAGE(KERN_ERR, device,
|
||||
"internal error - timeout (%is) expired "
|
||||
"for cqr %p, termination failed, "
|
||||
"retrying in 5s",
|
||||
(cqr->expires/HZ), cqr);
|
||||
cqr->expires += 5*HZ;
|
||||
dasd_device_set_timer(device, 5*HZ);
|
||||
} else {
|
||||
DEV_MESSAGE(KERN_ERR, device,
|
||||
"internal error - timeout (%is) expired "
|
||||
|
|
Загрузка…
Ссылка в новой задаче