Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0dc2e8d1 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nicholas Bellinger
Browse files

target: put struct target_fabric_configfs on a diet



Remove all fields that are either unused or can be replaced by trivially
following pointers.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent ef0caf8d
Loading
Loading
Loading
Loading
+4 −20
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ static struct target_fabric_configfs *target_core_get_fabric(

	mutex_lock(&g_tf_lock);
	list_for_each_entry(tf, &g_tf_list, tf_list) {
		if (!strcmp(tf->tf_name, name)) {
		if (!strcmp(tf->tf_ops->name, name)) {
			atomic_inc(&tf->tf_access_cnt);
			mutex_unlock(&g_tf_lock);
			return tf;
@@ -193,7 +193,7 @@ static struct config_group *target_core_register_fabric(
		return ERR_PTR(-EINVAL);
	}
	pr_debug("Target_Core_ConfigFS: REGISTER -> Located fabric:"
			" %s\n", tf->tf_name);
			" %s\n", tf->tf_ops->name);
	/*
	 * On a successful target_core_get_fabric() look, the returned
	 * struct target_fabric_configfs *tf will contain a usage reference.
@@ -212,10 +212,6 @@ static struct config_group *target_core_register_fabric(

	pr_debug("Target_Core_ConfigFS: REGISTER -> Allocated Fabric:"
			" %s\n", tf->tf_group.cg_item.ci_name);
	tf->tf_fabric = &tf->tf_group.cg_item;
	pr_debug("Target_Core_ConfigFS: REGISTER -> Set tf->tf_fabric"
			" for %s\n", name);

	return &tf->tf_group;
}

@@ -236,13 +232,9 @@ static void target_core_deregister_fabric(
		" tf list\n", config_item_name(item));

	pr_debug("Target_Core_ConfigFS: DEREGISTER -> located fabric:"
			" %s\n", tf->tf_name);
			" %s\n", tf->tf_ops->name);
	atomic_dec(&tf->tf_access_cnt);

	pr_debug("Target_Core_ConfigFS: DEREGISTER -> Releasing"
			" tf->tf_fabric for %s\n", tf->tf_name);
	tf->tf_fabric = NULL;

	pr_debug("Target_Core_ConfigFS: DEREGISTER -> Releasing ci"
			" %s\n", config_item_name(item));

@@ -436,14 +428,6 @@ int target_register_template(const struct target_core_fabric_ops *fo)

	INIT_LIST_HEAD(&tf->tf_list);
	atomic_set(&tf->tf_access_cnt, 0);

	/*
	 * Setup the default generic struct config_item_type's (cits) in
	 * struct target_fabric_configfs->tf_cit_tmpl
	 */
	tf->tf_module = fo->module;
	snprintf(tf->tf_name, TARGET_FABRIC_NAME_SIZE, "%s", fo->name);

	tf->tf_ops = fo;
	target_fabric_setup_cits(tf);

@@ -461,7 +445,7 @@ void target_unregister_template(const struct target_core_fabric_ops *fo)

	mutex_lock(&g_tf_lock);
	list_for_each_entry(t, &g_tf_list, tf_list) {
		if (!strcmp(t->tf_name, fo->name)) {
		if (!strcmp(t->tf_ops->name, fo->name)) {
			BUG_ON(atomic_read(&t->tf_access_cnt));
			list_del(&t->tf_list);
			kfree(t);
+2 −2
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ static void target_fabric_setup_##_name##_cit(struct target_fabric_configfs *tf)
	cit->ct_item_ops = _item_ops;					\
	cit->ct_group_ops = _group_ops;					\
	cit->ct_attrs = _attrs;						\
	cit->ct_owner = tf->tf_module;					\
	cit->ct_owner = tf->tf_ops->module;				\
	pr_debug("Setup generic %s\n", __stringify(_name));		\
}

@@ -66,7 +66,7 @@ static void target_fabric_setup_##_name##_cit(struct target_fabric_configfs *tf)
	cit->ct_item_ops = _item_ops;					\
	cit->ct_group_ops = _group_ops;					\
	cit->ct_attrs = attrs;						\
	cit->ct_owner = tf->tf_module;					\
	cit->ct_owner = tf->tf_ops->module;				\
	pr_debug("Setup generic %s\n", __stringify(_name));		\
}

+0 −7
Original line number Diff line number Diff line
@@ -30,18 +30,11 @@ struct target_fabric_configfs_template {
};

struct target_fabric_configfs {
	char			tf_name[TARGET_FABRIC_NAME_SIZE];
	atomic_t		tf_access_cnt;
	struct list_head	tf_list;
	struct config_group	tf_group;
	struct config_group	tf_disc_group;
	struct config_group	*tf_default_groups[2];
	/* Pointer to fabric's config_item */
	struct config_item	*tf_fabric;
	/* Passed from fabric modules */
	struct config_item_type	*tf_fabric_cit;
	/* Pointer to fabric's struct module */
	struct module *tf_module;
	const struct target_core_fabric_ops *tf_ops;
	struct target_fabric_configfs_template tf_cit_tmpl;
};