s390/dasd: fix handling of gone paths
authorStefan Weinhuber <wein@de.ibm.com>
Tue, 28 May 2013 13:26:06 +0000 (15:26 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 31 May 2013 15:23:49 +0000 (17:23 +0200)
commit8b811bae69cf30e0a9676d7dcafb0cf16f13b3bc
treeb6a9d97a043b908fef134c4766248d1bad0059bc
parentb56433cb782d1cc7e44fc46d2ce3917fa75d2236
s390/dasd: fix handling of gone paths

When a path is gone and dasd_generic_path_event is called with a
PE_PATH_GONE event, we must assume that any I/O request on that
subchannel is still running. This is unlike the dasd_generic_notify
handler and the CIO_NO_PATH event, which implies that the subchannel
has been cleared.
If dasd_generic_path_event finds that the path has been the last
usable path, it must not call dasd_generic_last_path_gone (which would
reset the state of running requests), but just set the
DASD_STOPPED_DC_WAIT bit.

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/block/dasd.c