Re: [PATCH 1/2] target: remove useless INIT_LIST_HEAD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(&param->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


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux