diff options
author | Stefan Weinhuber <wein@de.ibm.com> | 2009-12-07 12:51:53 +0100 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2009-12-07 12:51:35 +0100 |
commit | f4ac1d0255748fe0f8e128a26b1c29490cae5c08 (patch) | |
tree | 2e5e9c31f32194c1042440bce54301e86125f142 /drivers/s390/block/dasd_eckd.h | |
parent | b8ed5dd54895647c2690575aad6f07748c2c618a (diff) | |
download | blackbird-op-linux-f4ac1d0255748fe0f8e128a26b1c29490cae5c08.tar.gz blackbird-op-linux-f4ac1d0255748fe0f8e128a26b1c29490cae5c08.zip |
[S390] dasd: let device initialization wait for LCU setup
The first DASD that is set online for a specific logical control unit
has to do certain setup steps on the storage server to make full use
of it, for example it will enable PAV.
The features and characteristics reported by the storage server will
depend on this setup, so all other devices on the same LCU will need
to wait for the setup to be finished.
Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd_eckd.h')
-rw-r--r-- | drivers/s390/block/dasd_eckd.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h index ad45bcac3ce4..864d53c04201 100644 --- a/drivers/s390/block/dasd_eckd.h +++ b/drivers/s390/block/dasd_eckd.h @@ -414,6 +414,7 @@ struct alias_lcu { struct summary_unit_check_work_data suc_data; struct read_uac_work_data ruac_data; struct dasd_ccw_req *rsu_cqr; + struct completion lcu_setup; }; struct alias_pav_group { @@ -460,5 +461,6 @@ int dasd_alias_remove_device(struct dasd_device *); struct dasd_device *dasd_alias_get_start_dev(struct dasd_device *); void dasd_alias_handle_summary_unit_check(struct dasd_device *, struct irb *); void dasd_eckd_reset_ccw_to_base_io(struct dasd_ccw_req *); - +void dasd_alias_lcu_setup_complete(struct dasd_device *); +void dasd_alias_wait_for_lcu_setup(struct dasd_device *); #endif /* DASD_ECKD_H */ |