s390/dasd: fix hanging offline processing
authorStefan Haberland <sth@linux.vnet.ibm.com>
Tue, 20 Sep 2016 08:29:22 +0000 (10:29 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 26 Sep 2016 14:45:27 +0000 (16:45 +0200)
commita9f6273ff9c80dd2c226f7a2d5c16272e5092d3e
treef73e1066b4e23e63857db65a49943230f52be719
parent13954fd6913acff8f8b8c21612074b57051ba457
s390/dasd: fix hanging offline processing

Internal I/O is processed by the _sleep_on_function which might wait for a
device to get operational. During offline processing this will never happen
and therefore the refcount of the device will not drop to zero and the
offline processing blocks as well.

Fix by letting requests fail in the _sleep_on function during offline
processing. No further handling of the requests is necessary since this is
internal I/O and the device is thrown away afterwards.

Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/block/dasd.c