[dm-devel] [PATCH 1/3] libmultipath: alua_rtpg: use condlog for error messages

Martin Wilck mwilck at suse.com
Tue Jul 3 07:57:05 UTC 2018


Map the PRINT_DEBUG macro of the ALUA code to a condlog call, to
be able to better debug SCSI error conditions.

Signed-off-by: Martin Wilck <mwilck at suse.com>
---
 libmultipath/prioritizers/alua_rtpg.c | 34 +++++++++++----------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/libmultipath/prioritizers/alua_rtpg.c b/libmultipath/prioritizers/alua_rtpg.c
index e4315020..ce405b55 100644
--- a/libmultipath/prioritizers/alua_rtpg.c
+++ b/libmultipath/prioritizers/alua_rtpg.c
@@ -27,20 +27,14 @@
 #include "../prio.h"
 #include "../discovery.h"
 #include "../unaligned.h"
+#include "../debug.h"
 #include "alua_rtpg.h"
 
 #define SENSE_BUFF_LEN  32
 #define SGIO_TIMEOUT     60000
 
-/*
- * Macro used to print debug messaged.
- */
-#if DEBUG > 0
 #define PRINT_DEBUG(f, a...) \
-		fprintf(stderr, "DEBUG: " f, ##a)
-#else
-#define PRINT_DEBUG(f, a...)
-#endif
+	condlog(4, "alua: " f, ##a)
 
 /*
  * Optionally print the commands sent and the data received a hex dump.
@@ -144,12 +138,12 @@ do_inquiry(int fd, int evpd, unsigned int codepage,
 	hdr.timeout		= get_prio_timeout(timeout, SGIO_TIMEOUT);
 
 	if (ioctl(fd, SG_IO, &hdr) < 0) {
-		PRINT_DEBUG("do_inquiry: IOCTL failed!\n");
+		PRINT_DEBUG("do_inquiry: IOCTL failed!");
 		return -RTPG_INQUIRY_FAILED;
 	}
 
 	if (scsi_error(&hdr)) {
-		PRINT_DEBUG("do_inquiry: SCSI error!\n");
+		PRINT_DEBUG("do_inquiry: SCSI error!");
 		return -RTPG_INQUIRY_FAILED;
 	}
 	PRINT_HEX((unsigned char *) resp, resplen);
@@ -189,7 +183,7 @@ get_sysfs_pg83(struct path *pp, unsigned char *buff, int buflen)
 	}
 
 	if (!parent || sysfs_get_vpd(parent, 0x83, buff, buflen) <= 0) {
-		PRINT_DEBUG("failed to read sysfs vpd pg83\n");
+		PRINT_DEBUG("failed to read sysfs vpd pg83");
 		return -1;
 	}
 	return 0;
@@ -208,7 +202,7 @@ get_target_port_group(struct path * pp, unsigned int timeout)
 	buf = (unsigned char *)malloc(buflen);
 	if (!buf) {
 		PRINT_DEBUG("malloc failed: could not allocate"
-			     "%u bytes\n", buflen);
+			     "%u bytes", buflen);
 		return -RTPG_RTPG_FAILED;
 	}
 
@@ -230,7 +224,7 @@ get_target_port_group(struct path * pp, unsigned int timeout)
 			buf = (unsigned char *)malloc(scsi_buflen);
 			if (!buf) {
 				PRINT_DEBUG("malloc failed: could not allocate"
-					    "%u bytes\n", scsi_buflen);
+					    "%u bytes", scsi_buflen);
 				return -RTPG_RTPG_FAILED;
 			}
 			buflen = scsi_buflen;
@@ -248,7 +242,7 @@ get_target_port_group(struct path * pp, unsigned int timeout)
 			struct vpd83_tpg_dscr *p;
 			if (rc != -RTPG_NO_TPG_IDENTIFIER) {
 				PRINT_DEBUG("get_target_port_group: more "
-					    "than one TPG identifier found!\n");
+					    "than one TPG identifier found!");
 				continue;
 			}
 			p  = (struct vpd83_tpg_dscr *)dscr->data;
@@ -258,7 +252,7 @@ get_target_port_group(struct path * pp, unsigned int timeout)
 
 	if (rc == -RTPG_NO_TPG_IDENTIFIER) {
 		PRINT_DEBUG("get_target_port_group: "
-			    "no TPG identifier found!\n");
+			    "no TPG identifier found!");
 	}
 out:
 	free(buf);
@@ -293,7 +287,7 @@ do_rtpg(int fd, void* resp, long resplen, unsigned int timeout)
 		return -RTPG_RTPG_FAILED;
 
 	if (scsi_error(&hdr)) {
-		PRINT_DEBUG("do_rtpg: SCSI error!\n");
+		PRINT_DEBUG("do_rtpg: SCSI error!");
 		return -RTPG_RTPG_FAILED;
 	}
 	PRINT_HEX(resp, resplen);
@@ -315,7 +309,7 @@ get_asymmetric_access_state(int fd, unsigned int tpg, unsigned int timeout)
 	buf = (unsigned char *)malloc(buflen);
 	if (!buf) {
 		PRINT_DEBUG ("malloc failed: could not allocate"
-			"%u bytes\n", buflen);
+			"%u bytes", buflen);
 		return -RTPG_RTPG_FAILED;
 	}
 	memset(buf, 0, buflen);
@@ -330,7 +324,7 @@ get_asymmetric_access_state(int fd, unsigned int tpg, unsigned int timeout)
 		buf = (unsigned char *)malloc(scsi_buflen);
 		if (!buf) {
 			PRINT_DEBUG ("malloc failed: could not allocate"
-				"%u bytes\n", scsi_buflen);
+				"%u bytes", scsi_buflen);
 			return -RTPG_RTPG_FAILED;
 		}
 		buflen = scsi_buflen;
@@ -347,9 +341,9 @@ get_asymmetric_access_state(int fd, unsigned int tpg, unsigned int timeout)
 			if (rc != -RTPG_TPG_NOT_FOUND) {
 				PRINT_DEBUG("get_asymmetric_access_state: "
 					"more than one entry with same port "
-					"group.\n");
+					"group.");
 			} else {
-				PRINT_DEBUG("pref=%i\n", dscr->b0);
+				condlog(5, "pref=%i", dscr->b0);
 				rc = rtpg_tpg_dscr_get_aas(dscr);
 			}
 		}
-- 
2.17.1




More information about the dm-devel mailing list