diff options
-rw-r--r-- | drivers/s390/scsi/zfcp_aux.c | 12 | ||||
-rw-r--r-- | drivers/s390/scsi/zfcp_def.h | 1 | ||||
-rw-r--r-- | drivers/s390/scsi/zfcp_ext.h | 1 | ||||
-rw-r--r-- | drivers/s390/scsi/zfcp_fsf.c | 6 |
4 files changed, 11 insertions, 9 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c index 324fb1aab6f5..c94b666057cf 100644 --- a/drivers/s390/scsi/zfcp_aux.c +++ b/drivers/s390/scsi/zfcp_aux.c | |||
@@ -122,9 +122,9 @@ static int __init zfcp_module_init(void) | |||
122 | { | 122 | { |
123 | int retval = -ENOMEM; | 123 | int retval = -ENOMEM; |
124 | 124 | ||
125 | zfcp_data.qtcb_cache = zfcp_cache_hw_align("zfcp_qtcb", | 125 | zfcp_fsf_qtcb_cache = zfcp_cache_hw_align("zfcp_fsf_qtcb", |
126 | sizeof(struct fsf_qtcb)); | 126 | sizeof(struct fsf_qtcb)); |
127 | if (!zfcp_data.qtcb_cache) | 127 | if (!zfcp_fsf_qtcb_cache) |
128 | goto out_qtcb_cache; | 128 | goto out_qtcb_cache; |
129 | 129 | ||
130 | zfcp_fc_req_cache = zfcp_cache_hw_align("zfcp_fc_req", | 130 | zfcp_fc_req_cache = zfcp_cache_hw_align("zfcp_fc_req", |
@@ -164,7 +164,7 @@ out_misc: | |||
164 | out_transport: | 164 | out_transport: |
165 | kmem_cache_destroy(zfcp_fc_req_cache); | 165 | kmem_cache_destroy(zfcp_fc_req_cache); |
166 | out_fc_cache: | 166 | out_fc_cache: |
167 | kmem_cache_destroy(zfcp_data.qtcb_cache); | 167 | kmem_cache_destroy(zfcp_fsf_qtcb_cache); |
168 | out_qtcb_cache: | 168 | out_qtcb_cache: |
169 | return retval; | 169 | return retval; |
170 | } | 170 | } |
@@ -177,7 +177,7 @@ static void __exit zfcp_module_exit(void) | |||
177 | misc_deregister(&zfcp_cfdc_misc); | 177 | misc_deregister(&zfcp_cfdc_misc); |
178 | fc_release_transport(zfcp_data.scsi_transport_template); | 178 | fc_release_transport(zfcp_data.scsi_transport_template); |
179 | kmem_cache_destroy(zfcp_fc_req_cache); | 179 | kmem_cache_destroy(zfcp_fc_req_cache); |
180 | kmem_cache_destroy(zfcp_data.qtcb_cache); | 180 | kmem_cache_destroy(zfcp_fsf_qtcb_cache); |
181 | } | 181 | } |
182 | 182 | ||
183 | module_exit(zfcp_module_exit); | 183 | module_exit(zfcp_module_exit); |
@@ -236,7 +236,7 @@ static int zfcp_allocate_low_mem_buffers(struct zfcp_adapter *adapter) | |||
236 | return -ENOMEM; | 236 | return -ENOMEM; |
237 | 237 | ||
238 | adapter->pool.qtcb_pool = | 238 | adapter->pool.qtcb_pool = |
239 | mempool_create_slab_pool(4, zfcp_data.qtcb_cache); | 239 | mempool_create_slab_pool(4, zfcp_fsf_qtcb_cache); |
240 | if (!adapter->pool.qtcb_pool) | 240 | if (!adapter->pool.qtcb_pool) |
241 | return -ENOMEM; | 241 | return -ENOMEM; |
242 | 242 | ||
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h index d7e2534ed66e..6a764337f06e 100644 --- a/drivers/s390/scsi/zfcp_def.h +++ b/drivers/s390/scsi/zfcp_def.h | |||
@@ -317,7 +317,6 @@ struct zfcp_fsf_req { | |||
317 | struct zfcp_data { | 317 | struct zfcp_data { |
318 | struct scsi_host_template scsi_host_template; | 318 | struct scsi_host_template scsi_host_template; |
319 | struct scsi_transport_template *scsi_transport_template; | 319 | struct scsi_transport_template *scsi_transport_template; |
320 | struct kmem_cache *qtcb_cache; | ||
321 | }; | 320 | }; |
322 | 321 | ||
323 | #endif /* ZFCP_DEF_H */ | 322 | #endif /* ZFCP_DEF_H */ |
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h index fa1834f211aa..58c7e57ed615 100644 --- a/drivers/s390/scsi/zfcp_ext.h +++ b/drivers/s390/scsi/zfcp_ext.h | |||
@@ -98,6 +98,7 @@ extern int zfcp_fc_exec_bsg_job(struct fc_bsg_job *); | |||
98 | extern int zfcp_fc_timeout_bsg_job(struct fc_bsg_job *); | 98 | extern int zfcp_fc_timeout_bsg_job(struct fc_bsg_job *); |
99 | 99 | ||
100 | /* zfcp_fsf.c */ | 100 | /* zfcp_fsf.c */ |
101 | extern struct kmem_cache *zfcp_fsf_qtcb_cache; | ||
101 | extern int zfcp_fsf_open_port(struct zfcp_erp_action *); | 102 | extern int zfcp_fsf_open_port(struct zfcp_erp_action *); |
102 | extern int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *); | 103 | extern int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *); |
103 | extern int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *); | 104 | extern int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *); |
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index a2b0e8435fc3..43ee0288c0e9 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c | |||
@@ -18,6 +18,8 @@ | |||
18 | #include "zfcp_qdio.h" | 18 | #include "zfcp_qdio.h" |
19 | #include "zfcp_reqlist.h" | 19 | #include "zfcp_reqlist.h" |
20 | 20 | ||
21 | struct kmem_cache *zfcp_fsf_qtcb_cache; | ||
22 | |||
21 | static void zfcp_fsf_request_timeout_handler(unsigned long data) | 23 | static void zfcp_fsf_request_timeout_handler(unsigned long data) |
22 | { | 24 | { |
23 | struct zfcp_adapter *adapter = (struct zfcp_adapter *) data; | 25 | struct zfcp_adapter *adapter = (struct zfcp_adapter *) data; |
@@ -83,7 +85,7 @@ void zfcp_fsf_req_free(struct zfcp_fsf_req *req) | |||
83 | } | 85 | } |
84 | 86 | ||
85 | if (likely(req->qtcb)) | 87 | if (likely(req->qtcb)) |
86 | kmem_cache_free(zfcp_data.qtcb_cache, req->qtcb); | 88 | kmem_cache_free(zfcp_fsf_qtcb_cache, req->qtcb); |
87 | kfree(req); | 89 | kfree(req); |
88 | } | 90 | } |
89 | 91 | ||
@@ -628,7 +630,7 @@ static struct fsf_qtcb *zfcp_qtcb_alloc(mempool_t *pool) | |||
628 | if (likely(pool)) | 630 | if (likely(pool)) |
629 | qtcb = mempool_alloc(pool, GFP_ATOMIC); | 631 | qtcb = mempool_alloc(pool, GFP_ATOMIC); |
630 | else | 632 | else |
631 | qtcb = kmem_cache_alloc(zfcp_data.qtcb_cache, GFP_ATOMIC); | 633 | qtcb = kmem_cache_alloc(zfcp_fsf_qtcb_cache, GFP_ATOMIC); |
632 | 634 | ||
633 | if (unlikely(!qtcb)) | 635 | if (unlikely(!qtcb)) |
634 | return NULL; | 636 | return NULL; |