aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2021-06-15 21:53:29 -0700
committerTheodore Ts'o <tytso@mit.edu>2021-07-06 22:34:03 -0400
commit19e50aa76263793ae46e8a2540d238faaf1492ad (patch)
tree66b4f1a8b867c7f09d2216cfdd3a76a0603f4e30
parent0af9a7e9dc0f0ff1b55058dfdad349db09c5d150 (diff)
downloade2fsprogs-19e50aa76263793ae46e8a2540d238faaf1492ad.tar.gz
libext2fs: improve jbd_debug() implementation
Make jbd_debug() do format string checking (but still get compiled away to nothing) when --enable-jbd-debug isn't specified, similar to commit d556435156b7 ("jbd2: avoid -Wempty-body warnings") on the kernel side. This should prevent --enable-jbd-debug from getting broken due to bad jbd_debug() statements. It also eliminates a -Wunused-variable warning where a variable was only used in a jbd_debug() statement. Also remove an alternative definition of jbd_debug() that was conditional on CONFIG_JBD_DEBUG && !CONFIG_JBD_DEBUG, so was dead code. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--debugfs/journal.c4
-rw-r--r--e2fsck/journal.c4
-rw-r--r--lib/ext2fs/kernel-jbd.h26
3 files changed, 5 insertions, 29 deletions
diff --git a/debugfs/journal.c b/debugfs/journal.c
index e8872f050..686d0eb07 100644
--- a/debugfs/journal.c
+++ b/debugfs/journal.c
@@ -26,9 +26,7 @@
#include "uuid/uuid.h"
#include "journal.h"
-#ifdef CONFIG_JBD_DEBUG /* Enabled by configure --enable-jfs-debug */
static int bh_count = 0;
-#endif
#if EXT2_FLAT_INCLUDES
#include "blkid.h"
@@ -135,10 +133,8 @@ struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr,
if (retval)
return NULL;
-#ifdef CONFIG_JBD_DEBUG
if (journal_enable_debug >= 3)
bh_count++;
-#endif
jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n",
blocknr, blocksize, bh_count);
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index 0128fbd39..16d5cf86b 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -27,9 +27,7 @@
#include "problem.h"
#include "uuid/uuid.h"
-#ifdef CONFIG_JBD_DEBUG /* Enabled by configure --enable-jfs-debug */
static int bh_count = 0;
-#endif
/*
* Define USE_INODE_IO to use the inode_io.c / fileio.c codepaths.
@@ -129,10 +127,8 @@ struct buffer_head *getblk(kdev_t kdev, unsigned long long blocknr,
if (!bh)
return NULL;
-#ifdef CONFIG_JBD_DEBUG
if (journal_enable_debug >= 3)
bh_count++;
-#endif
jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n",
blocknr, blocksize, bh_count);
diff --git a/lib/ext2fs/kernel-jbd.h b/lib/ext2fs/kernel-jbd.h
index 2978ccb6b..c94de2374 100644
--- a/lib/ext2fs/kernel-jbd.h
+++ b/lib/ext2fs/kernel-jbd.h
@@ -26,7 +26,6 @@
#define journal_oom_retry 0
-#ifdef __STDC__
#ifdef CONFIG_JBD_DEBUG
/*
* Define JBD_EXPENSIVE_CHECKING to enable more expensive internal
@@ -35,7 +34,11 @@
*/
#define JBD_EXPENSIVE_CHECKING
extern int journal_enable_debug;
+#else
+#define journal_enable_debug (-1)
+#endif /* !CONFIG_JBD_DEBUG */
+#ifdef __STDC__
#define jbd_debug(n, f, a...) \
do { \
if ((n) <= journal_enable_debug) { \
@@ -45,27 +48,8 @@ extern int journal_enable_debug;
} \
} while (0)
#else
-#ifdef __GNUC__
-#if defined(__KERNEL__) || !defined(CONFIG_JBD_DEBUG)
-#define jbd_debug(f, a...) /**/
-#else
-extern int journal_enable_debug;
-#define jbd_debug(n, f, a...) \
- do { \
- if ((n) <= journal_enable_debug) { \
- printf("(%s, %d): %s: ", \
- __FILE__, __LINE__, __func__); \
- printf(f, ## a); \
- } \
- } while (0)
-#endif /*__KERNEL__ */
-#else
-#define jbd_debug(f, ...) /**/
-#endif
-#endif
-#else
#define jbd_debug(x) /* AIX doesn't do STDC */
-#endif
+#endif /* !__STDC__ */
extern void * __jbd_kmalloc (char *where, size_t size, int flags, int retry);
#define jbd_kmalloc(size, flags) \