On Thu, 2012-11-29 at 20:29 +0100, Sebastian Andrzej Siewior wrote: > 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. So I've been thinking about this patch some more.. Although I do like the micro-op of dropping the extra INIT_LIST_HEAD() when it's really unnecessary, it makes me more nervous to mix and match cases like this if member -> container usage ever changed for a specific list_head in the future. So that said, I'm skipping this one for the moment. --nab > 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 { -- 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