aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_aux.c
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_aux.c
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_aux.c')
-rw-r--r--drivers/s390/scsi/zfcp_aux.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 81e185602bb2..adbc05c44362 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -137,10 +137,10 @@ static int __init zfcp_module_init(void)
137 if (!zfcp_data.gid_pn_cache) 137 if (!zfcp_data.gid_pn_cache)
138 goto out_gid_cache; 138 goto out_gid_cache;
139 139
140 zfcp_data.adisc_cache = zfcp_cache_hw_align("zfcp_adisc", 140 zfcp_fc_req_cache = zfcp_cache_hw_align("zfcp_fc_req",
141 sizeof(struct zfcp_fc_els_adisc)); 141 sizeof(struct zfcp_fc_req));
142 if (!zfcp_data.adisc_cache) 142 if (!zfcp_fc_req_cache)
143 goto out_adisc_cache; 143 goto out_fc_cache;
144 144
145 zfcp_data.scsi_transport_template = 145 zfcp_data.scsi_transport_template =
146 fc_attach_transport(&zfcp_transport_functions); 146 fc_attach_transport(&zfcp_transport_functions);
@@ -172,8 +172,8 @@ out_ccw_register:
172out_misc: 172out_misc:
173 fc_release_transport(zfcp_data.scsi_transport_template); 173 fc_release_transport(zfcp_data.scsi_transport_template);
174out_transport: 174out_transport:
175 kmem_cache_destroy(zfcp_data.adisc_cache); 175 kmem_cache_destroy(zfcp_fc_req_cache);
176out_adisc_cache: 176out_fc_cache:
177 kmem_cache_destroy(zfcp_data.gid_pn_cache); 177 kmem_cache_destroy(zfcp_data.gid_pn_cache);
178out_gid_cache: 178out_gid_cache:
179 kmem_cache_destroy(zfcp_data.qtcb_cache); 179 kmem_cache_destroy(zfcp_data.qtcb_cache);
@@ -190,7 +190,7 @@ static void __exit zfcp_module_exit(void)
190 ccw_driver_unregister(&zfcp_ccw_driver); 190 ccw_driver_unregister(&zfcp_ccw_driver);
191 misc_deregister(&zfcp_cfdc_misc); 191 misc_deregister(&zfcp_cfdc_misc);
192 fc_release_transport(zfcp_data.scsi_transport_template); 192 fc_release_transport(zfcp_data.scsi_transport_template);
193 kmem_cache_destroy(zfcp_data.adisc_cache); 193 kmem_cache_destroy(zfcp_fc_req_cache);
194 kmem_cache_destroy(zfcp_data.gid_pn_cache); 194 kmem_cache_destroy(zfcp_data.gid_pn_cache);
195 kmem_cache_destroy(zfcp_data.qtcb_cache); 195 kmem_cache_destroy(zfcp_data.qtcb_cache);
196 kmem_cache_destroy(zfcp_data.gpn_ft_cache); 196 kmem_cache_destroy(zfcp_data.gpn_ft_cache);