This patch adds some codes to output logs to reflect the return value
of iscsid_req_wait() for outputting logging.

Please give me a feedback if any.

-- Yangkook Kim


Signed-off-by: Yangkook Kim <yangkook...@gmail.com>

---

--- a/usr/util.c        2009-11-12 06:22:10.000000000 +0900
+++ b/usr/util.c        2009-11-12 06:28:45.000000000 +0900
@@ -121,6 +121,34 @@

 #define MAXSLEEP 128

+void iscsid_handle_error(mgmt_ipc_err_e err)
+{
+       static char *err_msgs[] = {
+               /* 0 */ "",
+               /* 1 */ "unknown error",
+               /* 2 */ "not found",
+               /* 3 */ "no available memory",
+               /* 4 */ "encountered connection failure",
+               /* 5 */ "encountered iSCSI login failure",
+               /* 6 */ "encountered iSCSI database failure",
+               /* 7 */ "invalid parameter",
+               /* 8 */ "connection timed out",
+               /* 9 */ "internal error",
+               /* 10 */ "encountered iSCSI logout failure",
+               /* 11 */ "iSCSI PDU timed out",
+               /* 12 */ "iSCSI driver not found. Please make sure it
is loaded, and retry the operation",
+               /* 13 */ "daemon access denied",
+               /* 14 */ "iSCSI driver does not support requested capability.",
+               /* 15 */ "already exists",
+               /* 16 */ "Unknown request",
+               /* 17 */ "encountered iSNS failure",
+               /* 18 */ "could not communicate to iscsid",
+               /* 19 */ "encountered non-retryable iSCSI login failure",
+               /* 20 */ "could not connect to iscsid",
+       };
+       log_error("initiator reported error (%d - %s)", err, err_msgs[err]);
+}
+
 static mgmt_ipc_err_e iscsid_connect(int *fd)
 {
        int nsec;
@@ -231,7 +259,18 @@
        err = iscsid_req_by_rec_async(cmd, rec, &fd);
        if (err)
                return err;
-       return iscsid_req_wait(cmd, fd);
+       err = iscsid_req_wait(cmd, fd);
+       if (err) {
+               log_error("Could not login to [iface: %s, target: %s, "
+                         "portal: %s,%d]: ", rec->iface.name,
+                          rec->name, rec->conn[0].address,
+                          rec->conn[0].port);
+       } else
+       printf("Login to [iface: %s, target: %s, portal: "
+              "%s,%d]: successful\n", rec->iface.name,
+               rec->name, rec->conn[0].address,
+               rec->conn[0].port);
+               return err;
 }

 int iscsid_req_by_sid_async(iscsiadm_cmd_e cmd, int sid, int *fd)
@@ -312,34 +351,6 @@
        iface_setup_defaults(&rec->iface);
 }

-void iscsid_handle_error(mgmt_ipc_err_e err)
-{
-       static char *err_msgs[] = {
-               /* 0 */ "",
-               /* 1 */ "unknown error",
-               /* 2 */ "not found",
-               /* 3 */ "no available memory",
-               /* 4 */ "encountered connection failure",
-               /* 5 */ "encountered iSCSI login failure",
-               /* 6 */ "encountered iSCSI database failure",
-               /* 7 */ "invalid parameter",
-               /* 8 */ "connection timed out",
-               /* 9 */ "internal error",
-               /* 10 */ "encountered iSCSI logout failure",
-               /* 11 */ "iSCSI PDU timed out",
-               /* 12 */ "iSCSI driver not found. Please make sure it
is loaded, and retry the operation",
-               /* 13 */ "daemon access denied",
-               /* 14 */ "iSCSI driver does not support requested capability.",
-               /* 15 */ "already exists",
-               /* 16 */ "Unknown request",
-               /* 17 */ "encountered iSNS failure",
-               /* 18 */ "could not communicate to iscsid",
-               /* 19 */ "encountered non-retryable iSCSI login failure",
-               /* 20 */ "could not connect to iscsid",
-       };
-       log_error("initiator reported error (%d - %s)", err, err_msgs[err]);
-}
-
 int __iscsi_match_session(node_rec_t *rec, char *targetname,
                          char *address, int port, struct iface_rec *iface)
 {

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---

--- a/usr/util.c	2009-11-12 06:22:10.000000000 +0900
+++ b/usr/util.c	2009-11-12 06:28:45.000000000 +0900
@@ -121,6 +121,34 @@
 
 #define MAXSLEEP 128
 
+void iscsid_handle_error(mgmt_ipc_err_e err)
+{
+	static char *err_msgs[] = {
+		/* 0 */ "",
+		/* 1 */ "unknown error",
+		/* 2 */ "not found",
+		/* 3 */ "no available memory",
+		/* 4 */ "encountered connection failure",
+		/* 5 */ "encountered iSCSI login failure",
+		/* 6 */ "encountered iSCSI database failure",
+		/* 7 */ "invalid parameter",
+		/* 8 */ "connection timed out",
+		/* 9 */ "internal error",
+		/* 10 */ "encountered iSCSI logout failure",
+		/* 11 */ "iSCSI PDU timed out",
+		/* 12 */ "iSCSI driver not found. Please make sure it is loaded, and retry the operation",
+		/* 13 */ "daemon access denied",
+		/* 14 */ "iSCSI driver does not support requested capability.",
+		/* 15 */ "already exists",
+		/* 16 */ "Unknown request",
+		/* 17 */ "encountered iSNS failure",
+		/* 18 */ "could not communicate to iscsid",
+		/* 19 */ "encountered non-retryable iSCSI login failure",
+		/* 20 */ "could not connect to iscsid",
+	};
+	log_error("initiator reported error (%d - %s)", err, err_msgs[err]);
+}
+
 static mgmt_ipc_err_e iscsid_connect(int *fd)
 {
 	int nsec;
@@ -231,7 +259,18 @@
 	err = iscsid_req_by_rec_async(cmd, rec, &fd);
 	if (err)
 		return err;
-	return iscsid_req_wait(cmd, fd);
+	err = iscsid_req_wait(cmd, fd);
+	if (err) {
+		log_error("Could not login to [iface: %s, target: %s, "
+			  "portal: %s,%d]: ", rec->iface.name,
+			   rec->name, rec->conn[0].address,
+			   rec->conn[0].port);
+	} else
+	printf("Login to [iface: %s, target: %s, portal: "
+	       "%s,%d]: successful\n", rec->iface.name,
+		rec->name, rec->conn[0].address,
+		rec->conn[0].port);
+		return err;
 }
 
 int iscsid_req_by_sid_async(iscsiadm_cmd_e cmd, int sid, int *fd)
@@ -312,34 +351,6 @@
 	iface_setup_defaults(&rec->iface);
 }
 
-void iscsid_handle_error(mgmt_ipc_err_e err)
-{
-	static char *err_msgs[] = {
-		/* 0 */ "",
-		/* 1 */ "unknown error",
-		/* 2 */ "not found",
-		/* 3 */ "no available memory",
-		/* 4 */ "encountered connection failure",
-		/* 5 */ "encountered iSCSI login failure",
-		/* 6 */ "encountered iSCSI database failure",
-		/* 7 */ "invalid parameter",
-		/* 8 */ "connection timed out",
-		/* 9 */ "internal error",
-		/* 10 */ "encountered iSCSI logout failure",
-		/* 11 */ "iSCSI PDU timed out",
-		/* 12 */ "iSCSI driver not found. Please make sure it is loaded, and retry the operation",
-		/* 13 */ "daemon access denied",
-		/* 14 */ "iSCSI driver does not support requested capability.",
-		/* 15 */ "already exists",
-		/* 16 */ "Unknown request",
-		/* 17 */ "encountered iSNS failure",
-		/* 18 */ "could not communicate to iscsid",
-		/* 19 */ "encountered non-retryable iSCSI login failure",
-		/* 20 */ "could not connect to iscsid",
-	};
-	log_error("initiator reported error (%d - %s)", err, err_msgs[err]);
-}
-
 int __iscsi_match_session(node_rec_t *rec, char *targetname,
 			  char *address, int port, struct iface_rec *iface)
 {

Reply via email to