linux/drivers/s390/cio
Peter Oberparleiter a2fc8485f8 [S390] cio: prevent purging of CCW devices in the online state
The cio_ignore purge function is intended to only remove CCW devices
which are in the offline state. There is a time frame after the purge
function finished where a CCW device is scheduled for removal but
still accessible. When the device is set online during this time
frame, it may first appear online before it is then removed.

Fix this by preventing that CCW devices can be set online while there
is work (such as removal triggered by the purge function) for it
pending. Also ensure that the purge function does not schedule devices
for removal which are in the process of being set online.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-04-04 09:43:33 +02:00
..
airq.c [S390] cio: airq - fix array boundary 2009-03-26 15:24:14 +01:00
blacklist.c [S390] cio: remove custom implementation of hex_to_bin() 2010-10-25 16:10:17 +02:00
blacklist.h
ccwgroup.c [S390] ccwgroup_driver: remove duplicate members 2011-03-23 10:15:59 +01:00
ccwreq.c [S390] ccwreq: add ability to use all paths 2010-08-09 18:12:54 +02:00
chp.c [S390] cio: update descriptor in chsc_chp_vary 2010-10-25 16:10:18 +02:00
chp.h [S390] cio: update descriptor in chsc_chp_vary 2010-10-25 16:10:18 +02:00
chsc_sch.c [S390] css_driver: remove duplicate members 2011-03-15 17:08:24 +01:00
chsc_sch.h [S390] cio: Add chsc subchannel driver. 2008-07-14 10:02:12 +02:00
chsc.c [S390] cio: obtain mdc value per channel path 2011-01-05 12:47:28 +01:00
chsc.h [S390] cio: obtain mdc value per channel path 2011-01-05 12:47:28 +01:00
cio_debug.h [S390] cio: Remove cio_msg kernel parameter. 2008-05-07 09:23:01 +02:00
cio.c [S390] cio: move options to io_sch_private 2011-03-15 17:08:23 +01:00
cio.h [S390] css: remove subchannel private 2011-03-15 17:08:24 +01:00
cmf.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
crw.c [S390] cio: wait for channel report 2010-02-26 22:37:29 +01:00
css.c [S390] css_bus_type: make it static 2011-03-15 17:08:24 +01:00
css.h [S390] css_bus_type: make it static 2011-03-15 17:08:24 +01:00
device_fsm.c [S390] cio: fix I/O cancel function 2010-10-25 16:10:20 +02:00
device_id.c [S390] cio: use all available paths for some internal I/O 2010-08-09 18:12:54 +02:00
device_ops.c [S390] cio: obtain mdc value per channel path 2011-01-05 12:47:28 +01:00
device_pgid.c [S390] cio: notify drivers of channel path events 2010-10-25 16:10:19 +02:00
device_status.c [S390] cio: remove intretry flag 2009-12-07 12:51:31 +01:00
device.c [S390] cio: prevent purging of CCW devices in the online state 2011-04-04 09:43:33 +02:00
device.h [S390] ccw_bus_type: make it static 2011-03-23 10:15:59 +01:00
fcx.c [S390] drivers: Correct size given to memset 2009-12-18 17:43:32 +01:00
idset.c [S390] cio: introduce consistent subchannel scanning 2009-09-22 22:58:42 +02:00
idset.h [S390] cio: introduce consistent subchannel scanning 2009-09-22 22:58:42 +02:00
io_sch.h [S390] css: move io_private to drv_data 2011-03-15 17:08:23 +01:00
ioasm.h [S390] cio: move asms to generic header 2011-03-15 17:08:23 +01:00
isc.c [S390] cio: introduce isc_(un)register functions. 2008-07-14 10:02:11 +02:00
itcw.c [S390] cio: reduce memory consumption of itcw structures 2011-01-05 12:47:29 +01:00
Makefile [S390] qdio: convert global statistics to per-device stats 2010-01-04 09:05:58 +01:00
orb.h [S390] cio: move orb definitions to separate header 2011-03-15 17:08:23 +01:00
qdio_debug.c [S390] qdio: outbound queue full counter 2011-01-05 12:47:28 +01:00
qdio_debug.h [S390] qdio: rework debug feature logging 2008-12-25 13:38:59 +01:00
qdio_main.c [S390] qdio: fix init sequence 2011-04-04 09:43:32 +02:00
qdio_setup.c [S390] qdio: cleanup SIGA sync 2011-01-05 12:47:28 +01:00
qdio_thinint.c [S390] qdio: prevent race for shared indicators 2011-01-05 12:47:28 +01:00
qdio.h [S390] qdio: cleanup SIGA sync 2011-01-05 12:47:28 +01:00