btrfs: btrfs_debug should consume fs_info when DEBUG is not defined
authorJeff Mahoney <jeffm@suse.com>
Wed, 21 Sep 2016 16:17:37 +0000 (12:17 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Sep 2016 17:37:06 +0000 (19:37 +0200)
We can hit unused variable warnings when btrfs_debug and friends are
just aliases for no_printk.  This is due to the fs_info not getting
consumed by the function call, which can happen if convenenience
variables are used.  This patch adds a new btrfs_no_printk static inline
that consumes the convenience variable and does nothing else.  It
silences the unused variable warning and has no impact on the generated
code:

$ size fs/btrfs/extent_io.o*
   text    data     bss     dec     hex filename
  44072     152      32   44256    ace0 fs/btrfs/extent_io.o.btrfs_no_printk
  44072     152      32   44256    ace0 fs/btrfs/extent_io.o.no_printk

Fixes: 27a0dd61a5 (Btrfs: make btrfs_debug match pr_debug handling related to DEBUG)
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h

index 9e8fd5e..cb0ae90 100644 (file)
@@ -3244,6 +3244,12 @@ int btrfs_sync_fs(struct super_block *sb, int wait);
 #ifdef CONFIG_PRINTK
 __printf(2, 3)
 void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...);
+__printf(2, 3)
+static inline int btrfs_no_printk(const struct btrfs_fs_info *fs_info,
+                                  const char *fmt, ...)
+{
+       return 0;
+}
 #else
 static inline __printf(2, 3)
 void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...)
@@ -3358,13 +3364,13 @@ do {                                                                    \
        btrfs_printk_ratelimited(fs_info, KERN_DEBUG fmt, ##args)
 #else
 #define btrfs_debug(fs_info, fmt, args...) \
-       no_printk(KERN_DEBUG fmt, ##args)
+       btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args)
 #define btrfs_debug_in_rcu(fs_info, fmt, args...) \
-       no_printk(KERN_DEBUG fmt, ##args)
+       btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args)
 #define btrfs_debug_rl_in_rcu(fs_info, fmt, args...) \
-       no_printk(KERN_DEBUG fmt, ##args)
+       btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args)
 #define btrfs_debug_rl(fs_info, fmt, args...) \
-       no_printk(KERN_DEBUG fmt, ##args)
+       btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args)
 #endif
 
 #define btrfs_printk_in_rcu(fs_info, fmt, args...)     \