[S390] path grouping and path verifications fixes.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Wed, 12 Jul 2006 14:40:19 +0000 (16:40 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 12 Jul 2006 14:40:19 +0000 (16:40 +0200)
commit7e560814de1972e1bfc780616841d7a0032ca467
treef8d544454b54a0167f757cc945a3e29165f211f8
parent5c898ba9d4b6c14fdd367b96e3641c2508b4a4a9
[S390] path grouping and path verifications fixes.

1. Multipath devices for which SetPGID is not supported are not handled well.
   Use NOP ccws for path verification (sans path grouping) when SetPGID is not
   supported.
2. Check for PGIDs already set with SensePGID on _all_ paths (not just the
   first one) and try to find a common one. Moan if no common PGID can be
   found (and use NOP verification). If no PGIDs have been set, use the css
   global PGID (as before). (Rationale: SetPGID will get a command reject if
   the PGID it tries to set does not match the already set PGID.)
3. Immediately before reboot, issue RESET CHANNEL PATH (rcp) on all chpids. This
   will remove the old PGIDs. rcp will generate solicited CRWs which can be
   savely ignored by the machine check handler (all other actions create
   unsolicited CRWs).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/machine_kexec.c
drivers/s390/cio/chsc.c
drivers/s390/cio/cio.c
drivers/s390/cio/css.c
drivers/s390/cio/css.h
drivers/s390/cio/device_fsm.c
drivers/s390/cio/device_pgid.c
drivers/s390/cio/device_status.c
drivers/s390/s390mach.c
include/asm-s390/cio.h