btrfs: Fix a C compliance issue
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 20 Jun 2018 17:03:33 +0000 (10:03 -0700)
committerDavid Sterba <dsterba@suse.com>
Mon, 6 Aug 2018 11:12:31 +0000 (13:12 +0200)
The C programming language does not allow to use preprocessor statements
inside macro arguments (pr_info() is defined as a macro). Hence rework
the pr_info() statement in btrfs_print_mod_info() such that it becomes
compliant. This patch allows tools like sparse to analyze the BTRFS
source code.

Fixes: 62e855771dac ("btrfs: convert printk(KERN_* to use pr_* calls")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index 3e298f2..3c5f221 100644 (file)
@@ -2370,7 +2370,7 @@ static __cold void btrfs_interface_exit(void)
 
 static void __init btrfs_print_mod_info(void)
 {
-       pr_info("Btrfs loaded, crc32c=%s"
+       static const char options[] = ""
 #ifdef CONFIG_BTRFS_DEBUG
                        ", debug=on"
 #endif
@@ -2383,8 +2383,8 @@ static void __init btrfs_print_mod_info(void)
 #ifdef CONFIG_BTRFS_FS_REF_VERIFY
                        ", ref-verify=on"
 #endif
-                       "\n",
-                       crc32c_impl());
+                       ;
+       pr_info("Btrfs loaded, crc32c=%s%s\n", crc32c_impl(), options);
 }
 
 static int __init init_btrfs_fs(void)