diff options
author | Swen Schillig <swen@vnet.ibm.com> | 2009-08-18 09:43:19 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-09-05 09:49:27 -0400 |
commit | 564e1c86c810f9ccfe4300afa402815e3db4886d (patch) | |
tree | ecb88038c443d6486e9df352c79b3c78be5454ef /drivers/s390/scsi/zfcp_erp.c | |
parent | 42428f747a8a0db9c6de03e105932316defad65d (diff) |
[SCSI] zfcp: Move qdio related data out of zfcp_adapter
The zfcp_adapter structure was growing over time to a size of almost
one memory page. To reduce the size of the data structure and to
seperate different layers, put all qdio related data in the new
zfcp_qdio data structure.
Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index 50e5fbe2252a..feda1db56b23 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -603,9 +603,11 @@ static void zfcp_erp_wakeup(struct zfcp_adapter *adapter) | |||
603 | 603 | ||
604 | static int zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *act) | 604 | static int zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *act) |
605 | { | 605 | { |
606 | if (zfcp_qdio_open(act->adapter)) | 606 | struct zfcp_qdio *qdio = act->adapter->qdio; |
607 | |||
608 | if (zfcp_qdio_open(qdio)) | ||
607 | return ZFCP_ERP_FAILED; | 609 | return ZFCP_ERP_FAILED; |
608 | init_waitqueue_head(&act->adapter->request_wq); | 610 | init_waitqueue_head(&qdio->req_q_wq); |
609 | atomic_set_mask(ZFCP_STATUS_ADAPTER_QDIOUP, &act->adapter->status); | 611 | atomic_set_mask(ZFCP_STATUS_ADAPTER_QDIOUP, &act->adapter->status); |
610 | return ZFCP_ERP_SUCCEEDED; | 612 | return ZFCP_ERP_SUCCEEDED; |
611 | } | 613 | } |
@@ -710,7 +712,7 @@ static void zfcp_erp_adapter_strategy_close(struct zfcp_erp_action *act) | |||
710 | struct zfcp_adapter *adapter = act->adapter; | 712 | struct zfcp_adapter *adapter = act->adapter; |
711 | 713 | ||
712 | /* close queues to ensure that buffers are not accessed by adapter */ | 714 | /* close queues to ensure that buffers are not accessed by adapter */ |
713 | zfcp_qdio_close(adapter); | 715 | zfcp_qdio_close(adapter->qdio); |
714 | zfcp_fsf_req_dismiss_all(adapter); | 716 | zfcp_fsf_req_dismiss_all(adapter); |
715 | adapter->fsf_req_seq_no = 0; | 717 | adapter->fsf_req_seq_no = 0; |
716 | zfcp_fc_wka_ports_force_offline(adapter->gs); | 718 | zfcp_fc_wka_ports_force_offline(adapter->gs); |