diff options
author | Stefan Haberland <stefan.haberland@de.ibm.com> | 2010-05-17 04:00:10 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-05-17 04:00:16 -0400 |
commit | 501183f2ed74434e30a1b039b2f3af30f1f3f461 (patch) | |
tree | 785b6f2b2d5c7858e557354f71bdb0928fa098b1 /drivers/s390/block/dasd_int.h | |
parent | f3cb31e495668eae568c584c666631e26c68bdea (diff) |
[S390] dasd: add dynamic pav toleration
For base Parallel Access Volume (PAV) there is a fixed mapping of
base and alias devices. With dynamic PAV this mapping can be changed
so that an alias device is used with another base device.
This patch enables the DASD device driver to tolerate dynamic PAV
changes.
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd_int.h')
-rw-r--r-- | drivers/s390/block/dasd_int.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index a91d4a97d4f2..1ae7b121628e 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h | |||
@@ -312,6 +312,9 @@ struct dasd_discipline { | |||
312 | /* suspend/resume functions */ | 312 | /* suspend/resume functions */ |
313 | int (*freeze) (struct dasd_device *); | 313 | int (*freeze) (struct dasd_device *); |
314 | int (*restore) (struct dasd_device *); | 314 | int (*restore) (struct dasd_device *); |
315 | |||
316 | /* reload device after state change */ | ||
317 | int (*reload) (struct dasd_device *); | ||
315 | }; | 318 | }; |
316 | 319 | ||
317 | extern struct dasd_discipline *dasd_diag_discipline_pointer; | 320 | extern struct dasd_discipline *dasd_diag_discipline_pointer; |
@@ -386,6 +389,7 @@ struct dasd_device { | |||
386 | struct tasklet_struct tasklet; | 389 | struct tasklet_struct tasklet; |
387 | struct work_struct kick_work; | 390 | struct work_struct kick_work; |
388 | struct work_struct restore_device; | 391 | struct work_struct restore_device; |
392 | struct work_struct reload_device; | ||
389 | struct timer_list timer; | 393 | struct timer_list timer; |
390 | 394 | ||
391 | debug_info_t *debug_area; | 395 | debug_info_t *debug_area; |
@@ -582,6 +586,7 @@ void dasd_enable_device(struct dasd_device *); | |||
582 | void dasd_set_target_state(struct dasd_device *, int); | 586 | void dasd_set_target_state(struct dasd_device *, int); |
583 | void dasd_kick_device(struct dasd_device *); | 587 | void dasd_kick_device(struct dasd_device *); |
584 | void dasd_restore_device(struct dasd_device *); | 588 | void dasd_restore_device(struct dasd_device *); |
589 | void dasd_reload_device(struct dasd_device *); | ||
585 | 590 | ||
586 | void dasd_add_request_head(struct dasd_ccw_req *); | 591 | void dasd_add_request_head(struct dasd_ccw_req *); |
587 | void dasd_add_request_tail(struct dasd_ccw_req *); | 592 | void dasd_add_request_tail(struct dasd_ccw_req *); |