Commit c01f5f96 authored by Jeff Mahoney's avatar Jeff Mahoney Committed by David Sterba

btrfs: btrfs_debug should consume fs_info when DEBUG is not defined

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: 27a0dd61 (Btrfs: make btrfs_debug match pr_debug handling related to DEBUG)
Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 04ab956e
...@@ -3244,6 +3244,12 @@ int btrfs_sync_fs(struct super_block *sb, int wait); ...@@ -3244,6 +3244,12 @@ int btrfs_sync_fs(struct super_block *sb, int wait);
#ifdef CONFIG_PRINTK #ifdef CONFIG_PRINTK
__printf(2, 3) __printf(2, 3)
void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...); 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 #else
static inline __printf(2, 3) static inline __printf(2, 3)
void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...) void btrfs_printk(const struct btrfs_fs_info *fs_info, const char *fmt, ...)
...@@ -3358,13 +3364,13 @@ do { \ ...@@ -3358,13 +3364,13 @@ do { \
btrfs_printk_ratelimited(fs_info, KERN_DEBUG fmt, ##args) btrfs_printk_ratelimited(fs_info, KERN_DEBUG fmt, ##args)
#else #else
#define btrfs_debug(fs_info, fmt, args...) \ #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...) \ #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...) \ #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...) \ #define btrfs_debug_rl(fs_info, fmt, args...) \
no_printk(KERN_DEBUG fmt, ##args) btrfs_no_printk(fs_info, KERN_DEBUG fmt, ##args)
#endif #endif
#define btrfs_printk_in_rcu(fs_info, fmt, args...) \ #define btrfs_printk_in_rcu(fs_info, fmt, args...) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment