diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2011-02-22 13:54:41 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-02-25 12:02:03 -0500 |
commit | 087897e36982ef8536dc9c8baed159a31517b5e6 (patch) | |
tree | 3d54e6ca8880f226cfe77c2266a47b6f3474b493 /drivers/s390/scsi/zfcp_fc.h | |
parent | c7b279ae51942c14529bf2806685e9c658f28611 (diff) |
[SCSI] zfcp: Introduce new kmem_cache for FC request and response data
A data buffer that is passed to the hardware must not cross a page
boundary. zfcp uses a series of kmem_caches to align the data to not
cross a page boundary. Introduce a new kmem_cache for the FC requests
sent from the zfcp driver and use it for the ELS ADISC data. The goal
is to migrate to the FC kmem_cache in later patches and remove the
request specific kmem_caches.
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.h b/drivers/s390/scsi/zfcp_fc.h index b464ae01086c..4351b4e81b3c 100644 --- a/drivers/s390/scsi/zfcp_fc.h +++ b/drivers/s390/scsi/zfcp_fc.h | |||
@@ -123,19 +123,22 @@ struct zfcp_fc_gpn_ft { | |||
123 | }; | 123 | }; |
124 | 124 | ||
125 | /** | 125 | /** |
126 | * struct zfcp_fc_els_adisc - everything required in zfcp for issuing ELS ADISC | 126 | * struct zfcp_fc_req - Container for FC ELS and CT requests sent from zfcp |
127 | * @els: data required for issuing els fsf command | 127 | * @ct_els: data required for issuing fsf command |
128 | * @req: scatterlist entry for ELS ADISC request | 128 | * @sg_req: scatterlist entry for request data |
129 | * @resp: scatterlist entry for ELS ADISC response | 129 | * @sg_rsp: scatterlist entry for response data |
130 | * @adisc_req: ELS ADISC request data | 130 | * @u: request specific data |
131 | * @adisc_resp: ELS ADISC response data | ||
132 | */ | 131 | */ |
133 | struct zfcp_fc_els_adisc { | 132 | struct zfcp_fc_req { |
134 | struct zfcp_fsf_ct_els els; | 133 | struct zfcp_fsf_ct_els ct_els; |
135 | struct scatterlist req; | 134 | struct scatterlist sg_req; |
136 | struct scatterlist resp; | 135 | struct scatterlist sg_rsp; |
137 | struct fc_els_adisc adisc_req; | 136 | union { |
138 | struct fc_els_adisc adisc_resp; | 137 | struct { |
138 | struct fc_els_adisc req; | ||
139 | struct fc_els_adisc rsp; | ||
140 | } adisc; | ||
141 | } u; | ||
139 | }; | 142 | }; |
140 | 143 | ||
141 | /** | 144 | /** |