From 4a5a75f32dcbcd0b2685f74fd4ede26edf8765a9 Mon Sep 17 00:00:00 2001 From: Jörn Engel Date: Thu, 15 Mar 2012 15:05:12 -0400 Subject: 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 Signed-off-by: Nicholas Bellinger --- include/target/target_core_backend.h | 2 ++ include/target/target_core_base.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'include/target') 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; -- cgit v1.2.3-18-g5258