The following INIT_LIST_HEAD() are performned on a list_head which is used as members and not a containers. There is no need for this because its ->next & ->prev members will be overwritten on the next list_add(tail)() call. Here is a list of the variables and its usage: member list head (container) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub_api->sub_api_list sub_api_list lu_gp->lu_gp_node lu_gps_list lu_gp_mem->lu_gp_mem_list lu_gp->lu_gp_mem_list tg_pt_gp->tg_pt_gp_list su_dev->t10_alua.tg_pt_gps_list tg_pt_gp_mem->tg_pt_gp_mem_list tg_pt_gp->tg_pt_gp_mem_list); tf->tf_list g_tf_list tiqn->tiqn_list g_tiqn_list np->np_list g_np_list dr->cmd_datain_node cmd->datain_list ooo_cmdsn->ooo_list sess->sess_ooo_cmdsn_list cr->cr_list sess->cr_active_list conn->conn_list sess->sess_conn_list tpg_np->tpg_np_list tpg->tpg_gnp_list tpg_np->tpg_np_child_list tpg_np_parent->tpg_np_parent_list extra_response->er_lis param_list->extra_response_list tpg->tpg_list tiqn->tiqn_tpg_list ts->ts_list active_ts_list, inactive_ts_list r2t->r2t_list cmd->cmd_r2t_list qr->qr_list conn->response_queue_list, conn->immed_queue_list cmd->i_conn_node conn->conn_cmd_list dev->dev_list no usage port->sep_list dev->dev_sep_list lacl->lacl_list lun->lun_acl_list tidh_new->dest_list tid_dest_list pr_reg->pr_reg_list pr_tmpl->registration_list pr_reg->pr_reg_abort_list preempt_and_abort_list pr_reg->pr_reg_aptpl_list pr_tmpl->aptpl_reg_lis pr_reg_atp->pr_reg_atp_mem_list pr_reg->pr_reg_atp_list vpd->vpd_list wwn->t10_vpd_list tmr->tmr_list dev->dev_tmr_list, drain_tmr_list deve->alua_port_list port->sep_alua_list se_tpg->se_tpg_node tpg_list cmd->se_delayed_node dev->delayed_cmd_list cmd->se_qf_node se_dev->qf_cmd_list, qf_cmd_list se_sess->sess_list se_tpg->tpg_sess_list se_sess->sess_acl_list se_nacl->acl_sess_list se_cmd->se_cmd_list se_sess->sess_cmd_list cmd->state_list dev->state_list ua->ua_nacl_list deve->ua_list) ua->ua_dev_list no usage ft_tpg->lun_list no usage Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> --- drivers/target/iscsi/iscsi_target.c | 2 -- drivers/target/iscsi/iscsi_target_datain_values.c | 2 -- drivers/target/iscsi/iscsi_target_erl1.c | 2 -- drivers/target/iscsi/iscsi_target_erl2.c | 1 - drivers/target/iscsi/iscsi_target_login.c | 1 - drivers/target/iscsi/iscsi_target_parameters.c | 3 --- drivers/target/iscsi/iscsi_target_tpg.c | 3 --- drivers/target/iscsi/iscsi_target_tq.c | 1 - drivers/target/iscsi/iscsi_target_util.c | 4 ---- drivers/target/target_core_alua.c | 4 ---- drivers/target/target_core_configfs.c | 1 - drivers/target/target_core_device.c | 3 --- drivers/target/target_core_hba.c | 2 -- drivers/target/target_core_pr.c | 10 ---------- drivers/target/target_core_pscsi.c | 1 - drivers/target/target_core_tmr.c | 3 +-- drivers/target/target_core_tpg.c | 2 -- drivers/target/target_core_transport.c | 6 ------ drivers/target/target_core_ua.c | 2 -- drivers/target/tcm_fc/tcm_fc.h | 1 - drivers/target/tcm_fc/tfc_conf.c | 1 - include/target/target_core_base.h | 2 -- 22 files changed, 1 insertion(+), 56 deletions(-) diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index 339f97f..f47c75f 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c @@ -136,7 +136,6 @@ struct iscsi_tiqn *iscsit_add_tiqn(unsigned char *buf) } sprintf(tiqn->tiqn, "%s", buf); - INIT_LIST_HEAD(&tiqn->tiqn_list); INIT_LIST_HEAD(&tiqn->tiqn_tpg_list); spin_lock_init(&tiqn->tiqn_state_lock); spin_lock_init(&tiqn->tiqn_tpg_lock); @@ -358,7 +357,6 @@ struct iscsi_np *iscsit_add_np( np->np_network_transport = network_transport; spin_lock_init(&np->np_thread_lock); init_completion(&np->np_restart_comp); - INIT_LIST_HEAD(&np->np_list); ret = iscsi_target_setup_login_socket(np, sockaddr); if (ret != 0) { diff --git a/drivers/target/iscsi/iscsi_target_datain_values.c b/drivers/target/iscsi/iscsi_target_datain_values.c index 848fee7..f4b77f6 100644 --- a/drivers/target/iscsi/iscsi_target_datain_values.c +++ b/drivers/target/iscsi/iscsi_target_datain_values.c @@ -37,8 +37,6 @@ struct iscsi_datain_req *iscsit_allocate_datain_req(void) " struct iscsi_datain_req\n"); return NULL; } - INIT_LIST_HEAD(&dr->cmd_datain_node); - return dr; } diff --git a/drivers/target/iscsi/iscsi_target_erl1.c b/drivers/target/iscsi/iscsi_target_erl1.c index 0b52a23..ca4216d 100644 --- a/drivers/target/iscsi/iscsi_target_erl1.c +++ b/drivers/target/iscsi/iscsi_target_erl1.c @@ -791,8 +791,6 @@ static struct iscsi_ooo_cmdsn *iscsit_allocate_ooo_cmdsn(void) " struct iscsi_ooo_cmdsn.\n"); return NULL; } - INIT_LIST_HEAD(&ooo_cmdsn->ooo_list); - return ooo_cmdsn; } diff --git a/drivers/target/iscsi/iscsi_target_erl2.c b/drivers/target/iscsi/iscsi_target_erl2.c index 9ac4c151..fc3cc5a 100644 --- a/drivers/target/iscsi/iscsi_target_erl2.c +++ b/drivers/target/iscsi/iscsi_target_erl2.c @@ -331,7 +331,6 @@ int iscsit_prepare_cmds_for_realligance(struct iscsi_conn *conn) " struct iscsi_conn_recovery.\n"); return -1; } - INIT_LIST_HEAD(&cr->cr_list); INIT_LIST_HEAD(&cr->conn_recovery_cmd_list); spin_lock_init(&cr->conn_recovery_cmd_lock); /* diff --git a/drivers/target/iscsi/iscsi_target_login.c b/drivers/target/iscsi/iscsi_target_login.c index fdb632f..145f8f1 100644 --- a/drivers/target/iscsi/iscsi_target_login.c +++ b/drivers/target/iscsi/iscsi_target_login.c @@ -42,7 +42,6 @@ static int iscsi_login_init_conn(struct iscsi_conn *conn) { init_waitqueue_head(&conn->queues_wq); - INIT_LIST_HEAD(&conn->conn_list); INIT_LIST_HEAD(&conn->conn_cmd_list); INIT_LIST_HEAD(&conn->immed_queue_list); INIT_LIST_HEAD(&conn->response_queue_list); diff --git a/drivers/target/iscsi/iscsi_target_parameters.c b/drivers/target/iscsi/iscsi_target_parameters.c index 90b7400..9602b20 100644 --- a/drivers/target/iscsi/iscsi_target_parameters.c +++ b/drivers/target/iscsi/iscsi_target_parameters.c @@ -152,7 +152,6 @@ static struct iscsi_param *iscsi_set_default_param(struct iscsi_param_list *para pr_err("Unable to allocate memory for parameter.\n"); goto out; } - INIT_LIST_HEAD(¶m->p_list); param->name = kzalloc(strlen(name) + 1, GFP_KERNEL); if (!param->name) { @@ -720,8 +719,6 @@ static int iscsi_add_notunderstood_response( " struct iscsi_extra_response.\n"); return -1; } - INIT_LIST_HEAD(&extra_response->er_list); - strncpy(extra_response->key, key, strlen(key) + 1); strncpy(extra_response->value, NOTUNDERSTOOD, strlen(NOTUNDERSTOOD) + 1); diff --git a/drivers/target/iscsi/iscsi_target_tpg.c b/drivers/target/iscsi/iscsi_target_tpg.c index de9ea32..be2c60c 100644 --- a/drivers/target/iscsi/iscsi_target_tpg.c +++ b/drivers/target/iscsi/iscsi_target_tpg.c @@ -45,7 +45,6 @@ struct iscsi_portal_group *iscsit_alloc_portal_group(struct iscsi_tiqn *tiqn, u1 tpg->tpg_state = TPG_STATE_FREE; tpg->tpg_tiqn = tiqn; INIT_LIST_HEAD(&tpg->tpg_gnp_list); - INIT_LIST_HEAD(&tpg->tpg_list); mutex_init(&tpg->tpg_access_lock); mutex_init(&tpg->np_login_lock); spin_lock_init(&tpg->tpg_state_lock); @@ -445,8 +444,6 @@ struct iscsi_tpg_np *iscsit_tpg_add_network_portal( return ERR_CAST(np); } - INIT_LIST_HEAD(&tpg_np->tpg_np_list); - INIT_LIST_HEAD(&tpg_np->tpg_np_child_list); INIT_LIST_HEAD(&tpg_np->tpg_np_parent_list); spin_lock_init(&tpg_np->tpg_np_parent_lock); tpg_np->tpg_np = np; diff --git a/drivers/target/iscsi/iscsi_target_tq.c b/drivers/target/iscsi/iscsi_target_tq.c index 8128952..9a191bc 100644 --- a/drivers/target/iscsi/iscsi_target_tq.c +++ b/drivers/target/iscsi/iscsi_target_tq.c @@ -103,7 +103,6 @@ int iscsi_allocate_thread_sets(u32 thread_pair_count) ts->thread_id = thread_id; ts->status = ISCSI_THREAD_SET_FREE; - INIT_LIST_HEAD(&ts->ts_list); spin_lock_init(&ts->ts_state_lock); init_completion(&ts->rx_post_start_comp); init_completion(&ts->tx_post_start_comp); diff --git a/drivers/target/iscsi/iscsi_target_util.c b/drivers/target/iscsi/iscsi_target_util.c index 87e153b..3a98ed2 100644 --- a/drivers/target/iscsi/iscsi_target_util.c +++ b/drivers/target/iscsi/iscsi_target_util.c @@ -74,7 +74,6 @@ int iscsit_add_r2t_to_list( pr_err("Unable to allocate memory for struct iscsi_r2t.\n"); return -1; } - INIT_LIST_HEAD(&r2t->r2t_list); r2t->recovery_r2t = recovery; r2t->r2t_sn = (!r2t_sn) ? cmd->r2t_sn++ : r2t_sn; @@ -163,7 +162,6 @@ struct iscsi_cmd *iscsit_allocate_cmd(struct iscsi_conn *conn, gfp_t gfp_mask) } cmd->conn = conn; - INIT_LIST_HEAD(&cmd->i_conn_node); INIT_LIST_HEAD(&cmd->datain_list); INIT_LIST_HEAD(&cmd->cmd_r2t_list); init_completion(&cmd->reject_comp); @@ -478,7 +476,6 @@ void iscsit_add_cmd_to_immediate_queue( " struct iscsi_queue_req\n"); return; } - INIT_LIST_HEAD(&qr->qr_list); qr->cmd = cmd; qr->state = state; @@ -553,7 +550,6 @@ void iscsit_add_cmd_to_response_queue( " struct iscsi_queue_req\n"); return; } - INIT_LIST_HEAD(&qr->qr_list); qr->cmd = cmd; qr->state = state; diff --git a/drivers/target/target_core_alua.c b/drivers/target/target_core_alua.c index 85140f7..8ddab35 100644 --- a/drivers/target/target_core_alua.c +++ b/drivers/target/target_core_alua.c @@ -1120,7 +1120,6 @@ core_alua_allocate_lu_gp(const char *name, int def_group) pr_err("Unable to allocate struct t10_alua_lu_gp\n"); return ERR_PTR(-ENOMEM); } - INIT_LIST_HEAD(&lu_gp->lu_gp_node); INIT_LIST_HEAD(&lu_gp->lu_gp_mem_list); spin_lock_init(&lu_gp->lu_gp_lock); atomic_set(&lu_gp->lu_gp_ref_cnt, 0); @@ -1191,7 +1190,6 @@ core_alua_allocate_lu_gp_mem(struct se_device *dev) pr_err("Unable to allocate struct t10_alua_lu_gp_member\n"); return ERR_PTR(-ENOMEM); } - INIT_LIST_HEAD(&lu_gp_mem->lu_gp_mem_list); spin_lock_init(&lu_gp_mem->lu_gp_mem_lock); atomic_set(&lu_gp_mem->lu_gp_mem_ref_cnt, 0); @@ -1357,7 +1355,6 @@ struct t10_alua_tg_pt_gp *core_alua_allocate_tg_pt_gp(struct se_device *dev, pr_err("Unable to allocate struct t10_alua_tg_pt_gp\n"); return NULL; } - INIT_LIST_HEAD(&tg_pt_gp->tg_pt_gp_list); INIT_LIST_HEAD(&tg_pt_gp->tg_pt_gp_mem_list); mutex_init(&tg_pt_gp->tg_pt_gp_md_mutex); spin_lock_init(&tg_pt_gp->tg_pt_gp_lock); @@ -1455,7 +1452,6 @@ struct t10_alua_tg_pt_gp_member *core_alua_allocate_tg_pt_gp_mem( pr_err("Unable to allocate struct t10_alua_tg_pt_gp_member\n"); return ERR_PTR(-ENOMEM); } - INIT_LIST_HEAD(&tg_pt_gp_mem->tg_pt_gp_mem_list); spin_lock_init(&tg_pt_gp_mem->tg_pt_gp_mem_lock); atomic_set(&tg_pt_gp_mem->tg_pt_gp_mem_ref_cnt, 0); diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index 4efb61b..02cfaff 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -305,7 +305,6 @@ struct target_fabric_configfs *target_fabric_configfs_init( if (!tf) return ERR_PTR(-ENOMEM); - INIT_LIST_HEAD(&tf->tf_list); atomic_set(&tf->tf_access_cnt, 0); /* * Setup the default generic struct config_item_type's (cits) in diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index 3f60439..ba09d2d 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c @@ -480,7 +480,6 @@ static struct se_port *core_alloc_port(struct se_device *dev) return ERR_PTR(-ENOMEM); } INIT_LIST_HEAD(&port->sep_alua_list); - INIT_LIST_HEAD(&port->sep_list); atomic_set(&port->sep_tg_pt_secondary_offline, 0); spin_lock_init(&port->sep_alua_lock); mutex_init(&port->sep_tg_pt_md_mutex); @@ -1201,7 +1200,6 @@ struct se_lun_acl *core_dev_init_initiator_node_lun_acl( return NULL; } - INIT_LIST_HEAD(&lacl->lacl_list); lacl->mapped_lun = mapped_lun; lacl->se_lun_nacl = nacl; snprintf(lacl->initiatorname, TRANSPORT_IQN_LEN, "%s", initiatorname); @@ -1355,7 +1353,6 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name) dev->se_hba = hba; dev->transport = hba->transport; - INIT_LIST_HEAD(&dev->dev_list); INIT_LIST_HEAD(&dev->dev_sep_list); INIT_LIST_HEAD(&dev->dev_tmr_list); INIT_LIST_HEAD(&dev->delayed_cmd_list); diff --git a/drivers/target/target_core_hba.c b/drivers/target/target_core_hba.c index d2616cd..0cf8a36 100644 --- a/drivers/target/target_core_hba.c +++ b/drivers/target/target_core_hba.c @@ -51,8 +51,6 @@ int transport_subsystem_register(struct se_subsystem_api *sub_api) { struct se_subsystem_api *s; - INIT_LIST_HEAD(&sub_api->sub_api_list); - mutex_lock(&subsystem_mutex); list_for_each_entry(s, &subsystem_list, sub_api_list) { if (!strcmp(s->name, sub_api->name)) { diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c index e35dbf8..63222c6 100644 --- a/drivers/target/target_core_pr.c +++ b/drivers/target/target_core_pr.c @@ -603,11 +603,7 @@ static struct t10_pr_registration *__core_scsi3_do_alloc_registration( return NULL; } - INIT_LIST_HEAD(&pr_reg->pr_reg_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_abort_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_aptpl_list); INIT_LIST_HEAD(&pr_reg->pr_reg_atp_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_atp_mem_list); atomic_set(&pr_reg->pr_res_holders, 0); pr_reg->pr_reg_nacl = nacl; pr_reg->pr_reg_deve = deve; @@ -795,11 +791,7 @@ int core_scsi3_alloc_aptpl_registration( } pr_reg->pr_aptpl_buf = kzalloc(pr_tmpl->pr_aptpl_buf_len, GFP_KERNEL); - INIT_LIST_HEAD(&pr_reg->pr_reg_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_abort_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_aptpl_list); INIT_LIST_HEAD(&pr_reg->pr_reg_atp_list); - INIT_LIST_HEAD(&pr_reg->pr_reg_atp_mem_list); atomic_set(&pr_reg->pr_res_holders, 0); pr_reg->pr_reg_nacl = NULL; pr_reg->pr_reg_deve = NULL; @@ -1469,7 +1461,6 @@ core_scsi3_decode_spec_i_port( pr_err("Unable to allocate tidh_new\n"); return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; } - INIT_LIST_HEAD(&tidh_new->dest_list); tidh_new->dest_tpg = tpg; tidh_new->dest_node_acl = se_sess->se_node_acl; tidh_new->dest_se_deve = local_se_deve; @@ -1696,7 +1687,6 @@ core_scsi3_decode_spec_i_port( ret = TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; goto out_unmap; } - INIT_LIST_HEAD(&tidh_new->dest_list); tidh_new->dest_tpg = dest_tpg; tidh_new->dest_node_acl = dest_node_acl; tidh_new->dest_se_deve = dest_se_deve; diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c index 2bcfd79..61b12ae 100644 --- a/drivers/target/target_core_pscsi.c +++ b/drivers/target/target_core_pscsi.c @@ -274,7 +274,6 @@ pscsi_get_inquiry_vpd_device_ident(struct scsi_device *sdev, " struct t10_vpd\n"); goto out; } - INIT_LIST_HEAD(&vpd->vpd_list); transport_set_vpd_proto_id(vpd, page_83); transport_set_vpd_assoc(vpd, page_83); diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c index c6e0293..09b77d9 100644 --- a/drivers/target/target_core_tmr.c +++ b/drivers/target/target_core_tmr.c @@ -58,7 +58,6 @@ int core_tmr_alloc_req( tmr->task_cmd = se_cmd; tmr->fabric_tmr_ptr = fabric_tmr_ptr; tmr->function = function; - INIT_LIST_HEAD(&tmr->tmr_list); return 0; } @@ -231,7 +230,7 @@ static void core_tmr_drain_tmr_list( spin_unlock_irqrestore(&dev->se_tmr_lock, flags); list_for_each_entry_safe(tmr_p, tmr_pp, &drain_tmr_list, tmr_list) { - list_del_init(&tmr_p->tmr_list); + list_del(&tmr_p->tmr_list); cmd = tmr_p->task_cmd; pr_debug("LUN_RESET: %s releasing TMR %p Function: 0x%02x," diff --git a/drivers/target/target_core_tpg.c b/drivers/target/target_core_tpg.c index d84cc0a..94806e2 100644 --- a/drivers/target/target_core_tpg.c +++ b/drivers/target/target_core_tpg.c @@ -244,7 +244,6 @@ static int core_create_device_list_for_node(struct se_node_acl *nacl) atomic_set(&deve->ua_count, 0); atomic_set(&deve->pr_ref_count, 0); spin_lock_init(&deve->ua_lock); - INIT_LIST_HEAD(&deve->alua_port_list); INIT_LIST_HEAD(&deve->ua_list); } @@ -685,7 +684,6 @@ int core_tpg_register( se_tpg->se_tpg_wwn = se_wwn; atomic_set(&se_tpg->tpg_pr_ref_count, 0); INIT_LIST_HEAD(&se_tpg->acl_node_list); - INIT_LIST_HEAD(&se_tpg->se_tpg_node); INIT_LIST_HEAD(&se_tpg->tpg_sess_list); spin_lock_init(&se_tpg->acl_node_lock); spin_lock_init(&se_tpg->session_lock); diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 1ebde4c5..d54c954 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -219,8 +219,6 @@ struct se_session *transport_init_session(void) " se_sess_cache\n"); return ERR_PTR(-ENOMEM); } - INIT_LIST_HEAD(&se_sess->sess_list); - INIT_LIST_HEAD(&se_sess->sess_acl_list); INIT_LIST_HEAD(&se_sess->sess_cmd_list); spin_lock_init(&se_sess->sess_cmd_lock); kref_init(&se_sess->sess_kref); @@ -1036,10 +1034,6 @@ void transport_init_se_cmd( unsigned char *sense_buffer) { INIT_LIST_HEAD(&cmd->se_lun_node); - INIT_LIST_HEAD(&cmd->se_delayed_node); - INIT_LIST_HEAD(&cmd->se_qf_node); - INIT_LIST_HEAD(&cmd->se_cmd_list); - INIT_LIST_HEAD(&cmd->state_list); init_completion(&cmd->transport_lun_fe_stop_comp); init_completion(&cmd->transport_lun_stop_comp); init_completion(&cmd->t_transport_stop_comp); diff --git a/drivers/target/target_core_ua.c b/drivers/target/target_core_ua.c index bf0e390..760ea39 100644 --- a/drivers/target/target_core_ua.c +++ b/drivers/target/target_core_ua.c @@ -98,8 +98,6 @@ int core_scsi3_ua_allocate( pr_err("Unable to allocate struct se_ua\n"); return -ENOMEM; } - INIT_LIST_HEAD(&ua->ua_dev_list); - INIT_LIST_HEAD(&ua->ua_nacl_list); ua->ua_nacl = nacl; ua->ua_asc = asc; diff --git a/drivers/target/tcm_fc/tcm_fc.h b/drivers/target/tcm_fc/tcm_fc.h index eea6935..611a60d 100644 --- a/drivers/target/tcm_fc/tcm_fc.h +++ b/drivers/target/tcm_fc/tcm_fc.h @@ -96,7 +96,6 @@ struct ft_tpg { struct ft_lport_acl *lport_acl; struct ft_tport *tport; /* active tport or NULL */ struct list_head list; /* linkage in ft_lport_acl tpg_list */ - struct list_head lun_list; /* head of LUNs */ struct se_portal_group se_tpg; struct workqueue_struct *workqueue; }; diff --git a/drivers/target/tcm_fc/tfc_conf.c b/drivers/target/tcm_fc/tfc_conf.c index b74feb0..1d25bc5 100644 --- a/drivers/target/tcm_fc/tfc_conf.c +++ b/drivers/target/tcm_fc/tfc_conf.c @@ -320,7 +320,6 @@ static struct se_portal_group *ft_add_tpg( return NULL; tpg->index = index; tpg->lport_acl = lacl; - INIT_LIST_HEAD(&tpg->lun_list); wq = alloc_workqueue("tcm_fc", 0, 1); if (!wq) { diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index 645d90a..a0ee927 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h @@ -496,7 +496,6 @@ struct se_ua { u8 ua_asc; u8 ua_ascq; struct se_node_acl *ua_nacl; - struct list_head ua_dev_list; struct list_head ua_nacl_list; }; @@ -694,7 +693,6 @@ struct se_device { /* Pointer to template of function pointers for transport */ struct se_subsystem_api *transport; /* Linked list for struct se_hba struct se_device list */ - struct list_head dev_list; }; struct se_hba { -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html