5ebdd59
diff -aurp open-iscsi-2.0-872-rc1-bnx2i/usr/log.c open-iscsi-2.0-872-rc1-bnx2i.work/usr/log.c
5ebdd59
--- open-iscsi-2.0-872-rc1-bnx2i/usr/log.c	2010-05-06 15:26:01.000000000 -0500
5ebdd59
+++ open-iscsi-2.0-872-rc1-bnx2i.work/usr/log.c	2010-05-06 15:51:47.000000000 -0500
5ebdd59
@@ -281,10 +281,15 @@ void log_do_log_daemon(int prio, void *p
5ebdd59
 
5ebdd59
 void log_do_log_stderr(int prio, void *priv, const char *fmt, va_list ap)
5ebdd59
 {
5ebdd59
-	fprintf(stderr, "%s: ", log_name);
5ebdd59
-	vfprintf(stderr, fmt, ap);
5ebdd59
-	fprintf(stderr, "\n");
5ebdd59
-	fflush(stderr);
5ebdd59
+	if (prio == LOG_INFO) {
5ebdd59
+		vfprintf(stdout, fmt, ap);
5ebdd59
+		fprintf(stdout, "\n");
5ebdd59
+	} else {
5ebdd59
+		fprintf(stderr, "%s: ", log_name);
5ebdd59
+		vfprintf(stderr, fmt, ap);
5ebdd59
+		fprintf(stderr, "\n");
5ebdd59
+		fflush(stderr);
5ebdd59
+	}
5ebdd59
 }
5ebdd59
 
5ebdd59
 void log_warning(const char *fmt, ...)
5ebdd59
@@ -313,6 +318,14 @@ void log_debug(int level, const char *fm
5ebdd59
 	}
5ebdd59
 }
5ebdd59
 
5ebdd59
+void log_info(const char *fmt, ...)
5ebdd59
+{
5ebdd59
+	va_list ap;
5ebdd59
+	va_start(ap, fmt);
5ebdd59
+	log_func(LOG_INFO, log_func_priv, fmt, ap);
5ebdd59
+	va_end(ap);
5ebdd59
+}
5ebdd59
+
5ebdd59
 static void __dump_line(int level, unsigned char *buf, int *cp)
5ebdd59
 {
5ebdd59
 	char line[16*3+5], *lp = line;
5ebdd59
diff -aurp open-iscsi-2.0-872-rc1-bnx2i/usr/log.h open-iscsi-2.0-872-rc1-bnx2i.work/usr/log.h
5ebdd59
--- open-iscsi-2.0-872-rc1-bnx2i/usr/log.h	2010-05-06 15:26:01.000000000 -0500
5ebdd59
+++ open-iscsi-2.0-872-rc1-bnx2i.work/usr/log.h	2010-05-06 15:39:58.000000000 -0500
5ebdd59
@@ -71,6 +71,8 @@ extern int log_init(char *program_name, 
5ebdd59
 	void *priv);
5ebdd59
 extern void log_close (pid_t pid);
5ebdd59
 extern void dump_logmsg (void *);
5ebdd59
+extern void log_info(const char *fmt, ...)
5ebdd59
+	__attribute__ ((format (printf, 1, 2)));
5ebdd59
 extern void log_warning(const char *fmt, ...)
5ebdd59
 	__attribute__ ((format (printf, 1, 2)));
5ebdd59
 extern void log_error(const char *fmt, ...)
5ebdd59
diff -aurp open-iscsi-2.0-872-rc1-bnx2i/usr/session_mgmt.c open-iscsi-2.0-872-rc1-bnx2i.work/usr/session_mgmt.c
5ebdd59
--- open-iscsi-2.0-872-rc1-bnx2i/usr/session_mgmt.c	2010-05-06 15:26:01.000000000 -0500
5ebdd59
+++ open-iscsi-2.0-872-rc1-bnx2i.work/usr/session_mgmt.c	2010-05-06 15:43:28.000000000 -0500
5ebdd59
@@ -42,10 +42,10 @@ static void log_login_msg(struct node_re
5ebdd59
 			  rec->conn[0].port);
5ebdd59
 		iscsid_handle_error(rc);
5ebdd59
 	} else
5ebdd59
-		log_warning("Login to [iface: %s, target: %s, portal: "
5ebdd59
-			    "%s,%d] successful.", rec->iface.name,
5ebdd59
-			    rec->name, rec->conn[0].address,
5ebdd59
-			    rec->conn[0].port);
5ebdd59
+		log_info("Login to [iface: %s, target: %s, portal: "
5ebdd59
+			 "%s,%d] successful.", rec->iface.name,
5ebdd59
+			 rec->name, rec->conn[0].address,
5ebdd59
+			 rec->conn[0].port);
5ebdd59
 }
5ebdd59
 
5ebdd59
 struct iscsid_async_req {
5ebdd59
@@ -100,15 +100,15 @@ int iscsi_login_portal(void *data, struc
5ebdd59
 	struct iscsid_async_req *async_req = NULL;
5ebdd59
 	int rc = 0, fd;
5ebdd59
 
5ebdd59
-	log_warning("Logging in to [iface: %s, target: %s, portal: %s,%d]",
5ebdd59
-		    rec->iface.name, rec->name, rec->conn[0].address,
5ebdd59
-		    rec->conn[0].port);
5ebdd59
+	log_info("Logging in to [iface: %s, target: %s, portal: %s,%d]",
5ebdd59
+		 rec->iface.name, rec->name, rec->conn[0].address,
5ebdd59
+		 rec->conn[0].port);
5ebdd59
 
5ebdd59
 	if (list) {
5ebdd59
 		async_req = calloc(1, sizeof(*async_req));
5ebdd59
 		if (!async_req)
5ebdd59
-			log_error("Could not allocate memory for async login "
5ebdd59
-				  "handling. Using sequential login instead.");
5ebdd59
+			log_info("Could not allocate memory for async login "
5ebdd59
+				 "handling. Using sequential login instead.");
5ebdd59
 		else
5ebdd59
 			INIT_LIST_HEAD(&async_req->list);
5ebdd59
 	}
5ebdd59
@@ -215,10 +215,10 @@ static void log_logout_msg(struct sessio
5ebdd59
 			  info->persistent_address, info->port);
5ebdd59
 		iscsid_handle_error(rc);
5ebdd59
 	} else
5ebdd59
-		log_warning("Logout of [sid: %d, target: %s, "
5ebdd59
-			    "portal: %s,%d] successful.",
5ebdd59
-			    info->sid, info->targetname,
5ebdd59
-			    info->persistent_address, info->port);
5ebdd59
+		log_info("Logout of [sid: %d, target: %s, "
5ebdd59
+			 "portal: %s,%d] successful.",
5ebdd59
+			 info->sid, info->targetname,
5ebdd59
+			 info->persistent_address, info->port);
5ebdd59
 }
5ebdd59
 
5ebdd59
 static int iscsid_logout_reqs_wait(struct list_head *list)
5ebdd59
@@ -252,16 +252,16 @@ int iscsi_logout_portal(struct session_i
5ebdd59
 	int fd, rc;
5ebdd59
 
5ebdd59
 	/* TODO: add fn to add session prefix info like dev_printk */
5ebdd59
-	log_warning("Logging out of session [sid: %d, target: %s, portal: "
5ebdd59
-		    "%s,%d]",
5ebdd59
-		    info->sid, info->targetname, info->persistent_address,
5ebdd59
-		    info->port);
5ebdd59
+	log_info("Logging out of session [sid: %d, target: %s, portal: "
5ebdd59
+		 "%s,%d]",
5ebdd59
+		 info->sid, info->targetname, info->persistent_address,
5ebdd59
+		 info->port);
5ebdd59
 
5ebdd59
 	if (list) {
5ebdd59
 		async_req = calloc(1, sizeof(*async_req));
5ebdd59
 		if (!async_req)
5ebdd59
-			log_error("Could not allocate memory for async logout "
5ebdd59
-				  "handling. Using sequential logout instead.");
5ebdd59
+			log_info("Could not allocate memory for async logout "
5ebdd59
+				 "handling. Using sequential logout instead.");
5ebdd59
 	}
5ebdd59
 
5ebdd59
 	if (!async_req)