btrfs: fix size_t format string
PATCH 1/1 btrfs: fix size_t format string
This resolves a harmless gcc warning in btrfs_check_super_valid that results from a size_t value being printed as %lu:
fs/btrfs/disk-io.c:3927:21: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat=]
On all Linux systems, size_t is the same length as unsigned long, but the compiler does not know this, and warns about potentially unportable code here. The correct printf string for size_t is %z.
---
This warning has been rather annoying because it shows up in every 'allmodconfig' build. I assume others have reported it before, but please apply some fix for it, ideally before 4.0.
fs/btrfs/disk-io.c +1 -1
@@ -3921,7 +3921,7 @@ static int btrfs_check_super_valid(struct btrfs_fs_info *fs_info, }if (btrfs_super_sys_array_size (sb) <sizeof (struct btrfs_disk_key ) +sizeof (struct btrfs_chunk )) { -printk (KERN_ERR "BTRFS: system chunk array too small %u < %lu\n" , +printk (KERN_ERR "BTRFS: system chunk array too small %u < %zu\n" ,btrfs_super_sys_array_size (sb),sizeof (struct btrfs_disk_key ) +sizeof (struct btrfs_chunk ));
Quoted 3 lines · Arnd Bergmann
This warning has been rather annoying because it shows up in every 'allmodconfig' build. I assume others have reported it before, but please apply some fix for it, ideally before 4.0.
Sorry about that, we're aware of the warning and Chris will push the patch to the next rc.