s390/dasd: fix pathgroup race
authorStefan Haberland <stefan.haberland@de.ibm.com>
Tue, 11 Sep 2012 13:10:58 +0000 (15:10 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 17 Sep 2012 07:58:18 +0000 (09:58 +0200)
commit12d7b1078bb374fc3e2955b9f2815415a66157b6
treec99de58b079166e536a83a1b869daaa2fcfbe323
parent4db84d4f07b87c452c6000e0595dc9570ed21b41
s390/dasd: fix pathgroup race

If a new path is available we need to verify the path data. If it is the
first path for a device the stop bits are removed after path verification.
If a pathgroup is established we need to set system characteristics for
the lcu. Therefore I/O has to be started.
If the device is stopped the set system characteristics worker may block
the path verification worker and the device is blocked.

Turn on failfast for set system characteristics CQR to prevent a deadlock
with the path verification worker.

If a pathgroup is established on a device that is not in use trigger path
verification. Maybe we were not informed about a working path.

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