summaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorJörn Engel <joern@logfs.org>2012-03-15 15:05:12 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2012-03-15 19:15:38 -0700
commit4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9 (patch)
tree9c05e0df5d2cfe06ed490ce763347f65aaf64c6a /include/target
parentb168fe8cfe530daabbdf632af4554600006a81a9 (diff)
target: Use array_zalloc for tpg_lun_list
Turns an order-10 allocation into slab-sized ones, thereby preventing allocation failures with memory fragmentation. This likely saves memory as well, as the slab allocator can pack objects more tightly than the buddy allocator. Signed-off-by: Joern Engel <joern@logfs.org> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r--include/target/target_core_backend.h2
-rw-r--r--include/target/target_core_base.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h
index e5e6ff98f0f..8c9ff1b1439 100644
--- a/include/target/target_core_backend.h
+++ b/include/target/target_core_backend.h
@@ -62,4 +62,6 @@ int transport_set_vpd_ident(struct t10_vpd *, unsigned char *);
void *transport_kmap_data_sg(struct se_cmd *);
void transport_kunmap_data_sg(struct se_cmd *);
+void array_free(void *array, int n);
+
#endif /* TARGET_CORE_BACKEND_H */
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index c3334094c66..fc918a7b7d7 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -934,7 +934,7 @@ struct se_portal_group {
struct list_head se_tpg_node;
/* linked list for initiator ACL list */
struct list_head acl_node_list;
- struct se_lun *tpg_lun_list;
+ struct se_lun **tpg_lun_list;
struct se_lun tpg_virt_lun0;
/* List of TCM sessions associated wth this TPG */
struct list_head tpg_sess_list;