aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_eckd.h
diff options
context:
space:
mode:
authorStefan Weinhuber <wein@de.ibm.com>2009-12-07 12:51:53 +0100
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2009-12-07 12:51:35 +0100
commitf4ac1d0255748fe0f8e128a26b1c29490cae5c08 (patch)
tree2e5e9c31f32194c1042440bce54301e86125f142 /drivers/s390/block/dasd_eckd.h
parentb8ed5dd54895647c2690575aad6f07748c2c618a (diff)
downloadkernel_samsung_smdk4412-f4ac1d0255748fe0f8e128a26b1c29490cae5c08.zip
kernel_samsung_smdk4412-f4ac1d0255748fe0f8e128a26b1c29490cae5c08.tar.gz
kernel_samsung_smdk4412-f4ac1d0255748fe0f8e128a26b1c29490cae5c08.tar.bz2
[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.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h
index ad45bca..864d53c 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 */