[PATCH 1/3] Use function arguments for target names

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

 



Remove the dependence of iscsi_targets_list in isns_scn_register()
and isns_target_register(). Instead use target's name as the argument
to the function.

This is in preparation of the following patch that registers targets
that are already defined when iSNS is turned On.

Signed-Off-By: Chandra Seetharaman <sekharan@xxxxxxxxxx>
---
 usr/iscsi/isns.c |   17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

Index: tgt-469b574/usr/iscsi/isns.c
===================================================================
--- tgt-469b574.orig/usr/iscsi/isns.c
+++ tgt-469b574/usr/iscsi/isns.c
@@ -240,15 +240,14 @@ static int isns_scn_deregister(char *nam
 #define set_scn_flag(x)
 #endif
 
-static int isns_scn_register(void)
+static int isns_scn_register(char *name)
 {
 	int err;
 	uint16_t flags, length = 0;
 	uint32_t scn_flags;
-	char buf[4096], *name;
+	char buf[4096];
 	struct isns_hdr *hdr = (struct isns_hdr *) buf;
 	struct isns_tlv *tlv;
-	struct iscsi_target *target;
 
 	if (list_empty(&iscsi_targets_list))
 		return 0;
@@ -260,10 +259,6 @@ static int isns_scn_register(void)
 	memset(buf, 0, sizeof(buf));
 	tlv = (struct isns_tlv *) hdr->pdu;
 
-	target = list_first_entry(&iscsi_targets_list,
-				  struct iscsi_target, tlist);
-	name = tgt_targetname(target->tid);
-
 	length += isns_tlv_set_string(&tlv, ISNS_ATTR_ISCSI_NAME, name);
 	length += isns_tlv_set_string(&tlv, ISNS_ATTR_ISCSI_NAME, name);
 	length += isns_tlv_set(&tlv, 0, 0, 0);
@@ -392,7 +387,6 @@ int isns_target_register(char *name)
 	uint32_t port = htonl(iscsi_listen_port);
 	uint32_t node = htonl(ISNS_NODE_TARGET);
 	uint32_t type = htonl(2);
-	struct iscsi_target *target;
 	int err, initial = list_length_is_one(&iscsi_targets_list);
 
 	if (!use_isns)
@@ -405,10 +399,7 @@ int isns_target_register(char *name)
 	memset(buf, 0, sizeof(buf));
 	tlv = (struct isns_tlv *) hdr->pdu;
 
-        target = list_first_entry(&iscsi_targets_list,
-				  struct iscsi_target, tlist);
-        length += isns_tlv_set_string(&tlv, ISNS_ATTR_ISCSI_NAME,
-				      tgt_targetname(target->tid));
+	length += isns_tlv_set_string(&tlv, ISNS_ATTR_ISCSI_NAME, name);
 	length += isns_tlv_set_string(&tlv, ISNS_ATTR_ENTITY_IDENTIFIER, eid);
 
 	length += isns_tlv_set(&tlv, 0, 0, 0);
@@ -443,7 +434,7 @@ int isns_target_register(char *name)
 		eprintf("%d %m\n", length);
 
 	if (scn_listen_port)
-		isns_scn_register();
+		isns_scn_register(name);
 
 	isns_attr_query(name);
 
--
To unsubscribe from this list: send the line "unsubscribe stgt" 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]     [Linux RAID]     [Linux Clusters]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]

  Powered by Linux