aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_fc.h
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2011-02-22 13:54:41 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-02-25 12:02:03 -0500
commit087897e36982ef8536dc9c8baed159a31517b5e6 (patch)
tree3d54e6ca8880f226cfe77c2266a47b6f3474b493 /drivers/s390/scsi/zfcp_fc.h
parentc7b279ae51942c14529bf2806685e9c658f28611 (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.h27
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 */
133struct zfcp_fc_els_adisc { 132struct 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/**