linux/drivers/s390
Stefan Haberland 8a2278ce9c s390/dasd: fix hanging device after request requeue
The DASD device driver has a function to requeue requests to the
blocklayer.
This function is used in various cases when basic settings for the device
have to be changed like High Performance Ficon related parameters or copy
pair settings.

The functions iterates over the device->ccw_queue and also removes the
requests from the block->ccw_queue.
In case the device is started on an alias device instead of the base
device it might be removed from the block->ccw_queue without having it
canceled properly before. This might lead to a hanging device since the
request is no longer on a queue and can not be handled properly.

Fix by iterating over the block->ccw_queue instead of the
device->ccw_queue. This will take care of all blocklayer related requests
and handle them on all associated DASD devices.

Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Link: https://lore.kernel.org/r/20230721193647.3889634-4-sth@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-07-24 13:05:29 -06:00
..
block s390/dasd: fix hanging device after request requeue 2023-07-24 13:05:29 -06:00
char ARM64: 2023-07-03 15:32:22 -07:00
cio s390 updates for 6.5 merge window 2023-06-27 15:49:10 -07:00
crypto s390/vfio-ap: wire in the vfio_device_ops request callback 2023-06-06 13:42:07 +02:00
net revert "s390/net: lcs: use IS_ENABLED() for kconfig detection" 2023-06-24 15:10:49 -07:00
scsi scsi: zfcp: Declare SCSI host template const 2023-03-24 19:19:20 -04:00
virtio virtio: add VIRTIO_F_NOTIFICATION_DATA feature support 2023-04-21 03:02:35 -04:00
Makefile