2c4537b
From 181af9ac81bccbf8e63a755d48babb2e65de1d4e Mon Sep 17 00:00:00 2001
2c4537b
From: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
2c4537b
Date: Tue, 9 Jul 2013 08:17:15 -0400
2c4537b
Subject: [PATCH] iscsi tools: Print additional session info for flashnode
2c4537b
 session
2c4537b
2c4537b
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
2c4537b
Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
2c4537b
---
2c4537b
 usr/session_info.c | 24 +++++++++++++++++++-----
2c4537b
 1 file changed, 19 insertions(+), 5 deletions(-)
2c4537b
2c4537b
diff --git a/usr/session_info.c b/usr/session_info.c
2c4537b
index de156c6..2f48e65 100644
2c4537b
--- a/usr/session_info.c
2c4537b
+++ b/usr/session_info.c
2c4537b
@@ -64,20 +64,32 @@ void session_info_free_list(struct list_head *list)
2c4537b
 	}
2c4537b
 }
2c4537b
 
2c4537b
+static char *get_iscsi_node_type(struct session_info *info)
2c4537b
+{
2c4537b
+	int pid = iscsi_sysfs_session_user_created(info->sid);
2c4537b
+
2c4537b
+	if (!pid)
2c4537b
+		return "flash";
2c4537b
+	else
2c4537b
+		return "non-flash";
2c4537b
+}
2c4537b
+
2c4537b
 static int session_info_print_flat(void *data, struct session_info *info)
2c4537b
 {
2c4537b
 	struct iscsi_transport *t = iscsi_sysfs_get_transport_by_sid(info->sid);
2c4537b
 
2c4537b
 	if (strchr(info->persistent_address, '.'))
2c4537b
-		printf("%s: [%d] %s:%d,%d %s\n",
2c4537b
+		printf("%s: [%d] %s:%d,%d %s (%s)\n",
2c4537b
 			t ? t->name : UNKNOWN_VALUE,
2c4537b
 			info->sid, info->persistent_address,
2c4537b
-			info->persistent_port, info->tpgt, info->targetname);
2c4537b
+			info->persistent_port, info->tpgt, info->targetname,
2c4537b
+			get_iscsi_node_type(info));
2c4537b
 	else
2c4537b
-		printf("%s: [%d] [%s]:%d,%d %s\n",
2c4537b
+		printf("%s: [%d] [%s]:%d,%d %s (%s)\n",
2c4537b
 			t ? t->name : UNKNOWN_VALUE,
2c4537b
 			info->sid, info->persistent_address,
2c4537b
-			info->persistent_port, info->tpgt, info->targetname);
2c4537b
+			info->persistent_port, info->tpgt, info->targetname,
2c4537b
+			get_iscsi_node_type(info));
2c4537b
 	return 0;
2c4537b
 }
2c4537b
 
2c4537b
@@ -230,7 +242,8 @@ void session_info_print_tree(struct list_head *list, char *prefix,
2c4537b
 
2c4537b
 	list_for_each_entry(curr, list, list) {
2c4537b
 		if (!prev || strcmp(prev->targetname, curr->targetname)) {
2c4537b
-			printf("%sTarget: %s\n", prefix, curr->targetname);
2c4537b
+			printf("%sTarget: %s (%s)\n", prefix, curr->targetname,
2c4537b
+				get_iscsi_node_type(curr));
2c4537b
 			prev = NULL;
2c4537b
 		}
2c4537b
 
2c4537b
@@ -278,6 +291,7 @@ void session_info_print_tree(struct list_head *list, char *prefix,
2c4537b
 			printf("%s\t\tSID: %d\n", prefix, curr->sid);
2c4537b
 			print_iscsi_state(curr->sid, prefix);
2c4537b
 		}
2c4537b
+
2c4537b
 		if (flags & SESSION_INFO_ISCSI_TIM) {
2c4537b
 			printf("%s\t\t*********\n", prefix);
2c4537b
 			printf("%s\t\tTimeouts:\n", prefix);
2c4537b
-- 
2c4537b
1.8.3.1
2c4537b