From 7133644eec17768ceddcbc97d42d3b242ab692e3 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 26 May 2014 12:08:35 -0400 Subject: [PATCH] misc: use unsigned long long for file block count in filefrag This patch fixes incorrect reporting of file block count on 32-bit platforms. Signed-off-by: Theodore Ts'o --- misc/filefrag.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/filefrag.c b/misc/filefrag.c index 929a33b..0abfb8c 100644 --- a/misc/filefrag.c +++ b/misc/filefrag.c @@ -339,7 +339,7 @@ static void frag_report(const char *filename) ext2fs_struct_stat st; int blk_shift; long fd; - unsigned long numblocks; + unsigned long long numblocks; int data_blocks_per_cyl = 1; int num_extents = 1, expected = ~0; int is_ext2 = 0; @@ -411,7 +411,7 @@ static void frag_report(const char *filename) if (width > logical_width) logical_width = width; if (verbose) - printf("File size of %s is %llu (%lu block%s of %d bytes)\n", + printf("File size of %s is %llu (%llu block%s of %d bytes)\n", filename, (unsigned long long)st.st_size, numblocks * fsinfo.f_bsize >> blk_shift, numblocks == 1 ? "" : "s", 1 << blk_shift); -- 1.8.3.1