qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4] block: always compile-check debug prints
@ 2016-04-29  5:12 Zhou Jie
  2016-05-04  9:58 ` [Qemu-devel] [Qemu-block] " Kevin Wolf
  0 siblings, 1 reply; 2+ messages in thread
From: Zhou Jie @ 2016-04-29  5:12 UTC (permalink / raw)
  To: qemu-devel, eblake; +Cc: jcody, qemu-block, Zhou Jie

Files with conditional debug statements should ensure that the printf is
always compiled. This prevents bitrot of the format string of the debug
statement. And switch debug output to stderr.

Signed-off-by: Zhou Jie <zhoujie2011@cn.fujitsu.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
v3 -> v4:
 * Alter commit message to add "And switch debug output to stderr".

 block/curl.c     | 10 ++++++++--
 block/sheepdog.c | 13 ++++++++-----
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/block/curl.c b/block/curl.c
index 5a8f8b6..da9f5e8 100644
--- a/block/curl.c
+++ b/block/curl.c
@@ -36,10 +36,16 @@
 // #define DEBUG_VERBOSE
 
 #ifdef DEBUG_CURL
-#define DPRINTF(fmt, ...) do { printf(fmt, ## __VA_ARGS__); } while (0)
+#define DEBUG_CURL_PRINT 1
 #else
-#define DPRINTF(fmt, ...) do { } while (0)
+#define DEBUG_CURL_PRINT 0
 #endif
+#define DPRINTF(fmt, ...)                                            \
+    do {                                                             \
+        if (DEBUG_CURL_PRINT) {                                      \
+            fprintf(stderr, fmt, ## __VA_ARGS__);                    \
+        }                                                            \
+    } while (0)
 
 #if LIBCURL_VERSION_NUM >= 0x071000
 /* The multi interface timer callback was introduced in 7.16.0 */
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 33e0a33..9023686 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -294,13 +294,16 @@ static inline size_t count_data_objs(const struct SheepdogInode *inode)
 
 #undef DPRINTF
 #ifdef DEBUG_SDOG
-#define DPRINTF(fmt, args...)                                       \
-    do {                                                            \
-        fprintf(stdout, "%s %d: " fmt, __func__, __LINE__, ##args); \
-    } while (0)
+#define DEBUG_SDOG_PRINT 1
 #else
-#define DPRINTF(fmt, args...)
+#define DEBUG_SDOG_PRINT 0
 #endif
+#define DPRINTF(fmt, args...)                                           \
+    do {                                                                \
+        if (DEBUG_SDOG_PRINT) {                                         \
+            fprintf(stderr, "%s %d: " fmt, __func__, __LINE__, ##args); \
+        }                                                               \
+    } while (0)
 
 typedef struct SheepdogAIOCB SheepdogAIOCB;
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [Qemu-block] [PATCH v4] block: always compile-check debug prints
  2016-04-29  5:12 [Qemu-devel] [PATCH v4] block: always compile-check debug prints Zhou Jie
@ 2016-05-04  9:58 ` Kevin Wolf
  0 siblings, 0 replies; 2+ messages in thread
From: Kevin Wolf @ 2016-05-04  9:58 UTC (permalink / raw)
  To: Zhou Jie; +Cc: qemu-devel, eblake, qemu-block

Am 29.04.2016 um 07:12 hat Zhou Jie geschrieben:
> Files with conditional debug statements should ensure that the printf is
> always compiled. This prevents bitrot of the format string of the debug
> statement. And switch debug output to stderr.
> 
> Signed-off-by: Zhou Jie <zhoujie2011@cn.fujitsu.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks, applied to block-next.

Kevin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-04  9:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-29  5:12 [Qemu-devel] [PATCH v4] block: always compile-check debug prints Zhou Jie
2016-05-04  9:58 ` [Qemu-devel] [Qemu-block] " Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).