Patchwork ext4: fix some s64 printing warnings

login
register
mail settings
Submitter Stephen Rothwell
Date Nov. 12, 2008, 12:10 a.m.
Message ID <20081112111049.68c604ff.sfr@canb.auug.org.au>
Download mbox | patch
Permalink /patch/8213/
State Not Applicable, archived
Headers show

Comments

Stephen Rothwell - Nov. 12, 2008, 12:10 a.m.
A powerpc ppc64_defconfig build of Linus' current tree produces these
warnings:

fs/ext4/balloc.c: In function 'ext4_has_free_blocks':
fs/ext4/balloc.c:617: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64'
fs/ext4/inode.c: In function 'ext4_print_free_blocks':
fs/ext4/inode.c:1833: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64'
fs/ext4/inode.c:1835: warning: format '%lld' expects type 'long long int', but argument 2 has type 's64'

Fix them up with the usual casts.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/ext4/balloc.c |    2 +-
 fs/ext4/inode.c  |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
Theodore Ts'o - Nov. 20, 2008, 6:11 a.m.
On Wed, Nov 12, 2008 at 11:10:49AM +1100, Stephen Rothwell wrote:
> A powerpc ppc64_defconfig build of Linus' current tree produces these
> warnings:

Hi Stephen,

Thanks for submitting the patch!  As it turns out, a patch that was
pretty much identical to yours was submitted by Alexander Beregalov
and was merged into mainline as of 2.6.28-rc5, as commit ID ba8292e2.

Regards,

						- Ted

Patch

diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
index d2003cd..9ce2fcd 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -614,7 +614,7 @@  int ext4_has_free_blocks(struct ext4_sb_info *sbi, s64 nblocks)
 		if (dirty_blocks < 0) {
 			printk(KERN_CRIT "Dirty block accounting "
 					"went wrong %lld\n",
-					dirty_blocks);
+					(long long)dirty_blocks);
 		}
 	}
 	/* Check whether we have space after
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index be21a5a..2a3804e 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -1830,9 +1830,9 @@  static void ext4_print_free_blocks(struct inode *inode)
 			ext4_count_free_blocks(inode->i_sb));
 	printk(KERN_EMERG "Free/Dirty block details\n");
 	printk(KERN_EMERG "free_blocks=%lld\n",
-			percpu_counter_sum(&sbi->s_freeblocks_counter));
+			(long long)percpu_counter_sum(&sbi->s_freeblocks_counter));
 	printk(KERN_EMERG "dirty_blocks=%lld\n",
-			percpu_counter_sum(&sbi->s_dirtyblocks_counter));
+			(long long)percpu_counter_sum(&sbi->s_dirtyblocks_counter));
 	printk(KERN_EMERG "Block reservation details\n");
 	printk(KERN_EMERG "i_reserved_data_blocks=%lu\n",
 			EXT4_I(inode)->i_reserved_data_blocks);