Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > d18fa7374095732a0ead4cb4065710a5 > files > 1

iscsi-initiator-utils-6.2.0.871-0.12.el5_4.1.src.rpm

diff -aurp open-iscsi-2.0-871-test4/usr/iscsiadm.c open-iscsi-2.0-871-test4.work/usr/iscsiadm.c
--- open-iscsi-2.0-871-test4/usr/iscsiadm.c	2009-05-20 19:09:18.000000000 -0500
+++ open-iscsi-2.0-871-test4.work/usr/iscsiadm.c	2009-05-20 19:26:29.000000000 -0500
@@ -79,6 +79,7 @@ static struct option const long_options[
 	{"host", required_argument, NULL, 'H'},
 	{"sid", required_argument, NULL, 'r'},
 	{"rescan", no_argument, NULL, 'R'},
+	{"info", no_argument, NULL, 'i'},
 	{"print", required_argument, NULL, 'P'},
 	{"login", no_argument, NULL, 'l'},
 	{"loginall", required_argument, NULL, 'L'},
@@ -92,7 +93,7 @@ static struct option const long_options[
 	{"help", no_argument, NULL, 'h'},
 	{NULL, 0, NULL, 0},
 };
-static char *short_options = "RlVhm:p:P:T:H:I:U:k:L:d:r:n:v:o:sSt:u";
+static char *short_options = "iRlVhm:p:P:T:H:I:U:k:L:d:r:n:v:o:sSt:u";
 
 static void usage(int status)
 {
@@ -1728,6 +1729,7 @@ main(int argc, char **argv)
 	int rc=0, sid=-1, op=OP_NOOP, type=-1, do_logout=0, do_stats=0;
 	int do_login_all=0, do_logout_all=0, info_level=-1, num_ifaces = 0;
 	int tpgt = PORTAL_GROUP_TAG_UNKNOWN, killiscsid=-1, do_show=0;
+	int do_info=0;
 	struct sigaction sa_old;
 	struct sigaction sa_new;
 	discovery_rec_t drec;
@@ -1808,6 +1810,9 @@ main(int argc, char **argv)
 		case 'R':
 			do_rescan = 1;
 			break;
+		case 'i':
+			do_info = 1;
+			break;
 		case 'P':
 			info_level = atoi(optarg);
 			break;
@@ -2114,6 +2119,13 @@ main(int argc, char **argv)
 			if (!iscsi_sysfs_get_transport_by_sid(sid))
 				goto free_info;
 
+			if (do_info) {
+				rc = session_info_print(3, info);
+				if (rc)
+					rc = -1;
+				goto free_info;
+			}
+
 			if (!do_logout && !do_rescan && !do_stats &&
 			    op == OP_NOOP && info_level > 0) {
 				rc = session_info_print(info_level, info);
@@ -2147,6 +2159,11 @@ free_info:
 				goto out;
 			}
 
+			if (do_info) {
+				rc = session_info_print(3, NULL);
+				goto out;
+			}
+
 			rc = session_info_print(info_level, NULL);
 		}
 		break;