xfsprogs: explicitly cast troublesome types to match printf format specifiers
PATCH 1/1 xfsprogs: explicitly cast troublesome types to match printf format specifiers
Certain system-defined types (__u64, __s64, __nlink_t, __ino64_t, __off64_t, __blkcnt64_t) don't have a consistent definition across different architectures, so wherever we use a printf format specifier on such a variable, we have to typecast the variable or else the compiler will complain.
IOWs this fixes build warnings on ppc64le.
Signed-off-by Darrick J. Wong <[email protected]>
--- io/fiemap.c | 37 +++++++++++++++++++++---------------- io/open.c | 4 ++-- io/stat.c | 26 +++++++++++++------------- repair/attr_repair.c | 6 ++++-- repair/dinode.c | 3 ++- repair/phase6.c | 4 ++-- repair/scan.c | 15 ++++++++++----- 7 files changed, 54 insertions(+), 41 deletions(-)
io/fiemap.c +21 -16
@@ -67,16 +67,18 @@ print_hole(if (plain) {printf ("\t%d: [%llu..%llu]: hole" , cur_extent, - llast, lstart -1ULL ); + (unsigned long long )llast, lstart -1ULL );if (lflag) -printf (_ (" %llu blocks\n" ), lstart - llast); +printf (_ (" %llu blocks\n" ), + (unsigned long long )lstart - llast);else printf ("\n" ); }else { -snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]:" , llast, - lstart -1ULL ); +snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]:" , + (unsigned long long )llast, lstart -1ULL );printf ("%4d: %-*s %-*s %*llu\n" , cur_extent, foff_w, lbuf, - boff_w,_ ("hole" ), tot_w, lstart - llast); + boff_w,_ ("hole" ), tot_w, + (unsigned long long )lstart - llast); }
@@ -125,12 +127,13 @@ print_verbose(if (cur_extent == max_extents)return 1 ; -snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]:" , lstart, - lstart + len -1ULL ); -snprintf (bbuf,sizeof (bbuf),"%llu..%llu" , block, block + len -1ULL ); +snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]:" , + (unsigned long long )lstart, lstart + len -1ULL ); +snprintf (bbuf,sizeof (bbuf),"%llu..%llu" , + (unsigned long long )block, block + len -1ULL );snprintf (flgbuf,sizeof (flgbuf),"0x%x" , extent->fe_flags);printf ("%4d: %-*s %-*s %*llu %*s\n" , cur_extent, foff_w, lbuf, - boff_w, bbuf, tot_w, len, flg_w, flgbuf); + boff_w, bbuf, tot_w, (unsigned long long )len, flg_w, flgbuf);return 2 ; }
@@ -161,11 +164,11 @@ print_plain(return 1 ;printf ("\t%d: [%llu..%llu]: %llu..%llu" , cur_extent, - lstart, lstart + len -1ULL , block, - block + len -1ULL ); + (unsigned long long )lstart, lstart + len -1ULL , + (unsigned long long )block, block + len -1ULL );if (lflag) -printf (_ (" %llu blocks\n" ), len); +printf (_ (" %llu blocks\n" ), (unsigned long long )len);else printf ("\n" );return 2 ;
@@ -198,10 +201,12 @@ calc_print_format( len =BTOBBT (extent->fe_length); block =BTOBBT (extent->fe_physical); -snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]" , logical, - logical + len -1 ); -snprintf (bbuf,sizeof (bbuf),"%llu..%llu" , block, - block + len -1 ); +snprintf (lbuf,sizeof (lbuf),"[%llu..%llu]" , + (unsigned long long )logical, + (unsigned long long )logical + len -1 ); +snprintf (bbuf,sizeof (bbuf),"%llu..%llu" , + (unsigned long long )block, + (unsigned long long )block + len -1 ); *foff_w =max (*foff_w,strlen (lbuf)); *boff_w =max (*boff_w,strlen (bbuf)); *tot_w =max (*tot_w,numlen (len,10 ));
io/open.c +2 -2
@@ -762,14 +762,14 @@ inode_f(if (verbose && result_ino) {/* Requested verbose and we have an answer */ -printf ("%llu:%d\n" , result_ino, +printf ("%llu:%d\n" , (unsigned long long )result_ino, result_ino >XFS_MAXINUMBER_32 ?64 :32 ); }else if (userino ==NULLFSINO ) {/* Just checking 32 or 64 bit presence, non-verbose */ printf ("%d\n" , result_ino >XFS_MAXINUMBER_32 ?1 :0 ); }else {/* We asked about a specific inode, non-verbose */ -printf ("%llu\n" , result_ino); +printf ("%llu\n" , (unsigned long long )result_ino); }return 0 ;
io/stat.c +13 -13
@@ -69,14 +69,14 @@ filetype(mode_t mode)static int dump_raw_stat (struct stat *st) { -printf ("stat.blksize = %lu\n" , st->st_blksize); -printf ("stat.nlink = %lu\n" , st->st_nlink); +printf ("stat.blksize = %lu\n" , (unsigned long )st->st_blksize); +printf ("stat.nlink = %lu\n" , (unsigned long )st->st_nlink);printf ("stat.uid = %u\n" , st->st_uid);printf ("stat.gid = %u\n" , st->st_gid);printf ("stat.mode: 0%o\n" , st->st_mode); -printf ("stat.ino = %lu\n" , st->st_ino); -printf ("stat.size = %lu\n" , st->st_size); -printf ("stat.blocks = %lu\n" , st->st_blocks); +printf ("stat.ino = %llu\n" , (unsigned long long )st->st_ino); +printf ("stat.size = %lld\n" , (long long )st->st_size); +printf ("stat.blocks = %lld\n" , (long long )st->st_blocks);printf ("stat.atime.tv_sec = %ld\n" , st->st_atim.tv_sec);printf ("stat.atime.tv_nsec = %ld\n" , st->st_atim.tv_nsec);printf ("stat.ctime.tv_sec = %ld\n" , st->st_ctim.tv_sec);
@@ -273,21 +273,21 @@ dump_raw_statx(struct statx *stx) {printf ("stat.mask = 0x%x\n" , stx->stx_mask);printf ("stat.blksize = %u\n" , stx->stx_blksize); -printf ("stat.attributes = 0x%llx\n" , stx->stx_attributes); +printf ("stat.attributes = 0x%llx\n" , (unsigned long long )stx->stx_attributes);printf ("stat.nlink = %u\n" , stx->stx_nlink);printf ("stat.uid = %u\n" , stx->stx_uid);printf ("stat.gid = %u\n" , stx->stx_gid);printf ("stat.mode: 0%o\n" , stx->stx_mode); -printf ("stat.ino = %llu\n" , stx->stx_ino); -printf ("stat.size = %llu\n" , stx->stx_size); -printf ("stat.blocks = %llu\n" , stx->stx_blocks); -printf ("stat.atime.tv_sec = %lld\n" , stx->stx_atime.tv_sec); +printf ("stat.ino = %llu\n" , (unsigned long long )stx->stx_ino); +printf ("stat.size = %llu\n" , (unsigned long long )stx->stx_size); +printf ("stat.blocks = %llu\n" , (unsigned long long )stx->stx_blocks); +printf ("stat.atime.tv_sec = %lld\n" , (long long )stx->stx_atime.tv_sec);printf ("stat.atime.tv_nsec = %d\n" , stx->stx_atime.tv_nsec); -printf ("stat.btime.tv_sec = %lld\n" , stx->stx_btime.tv_sec); +printf ("stat.btime.tv_sec = %lld\n" , (long long )stx->stx_btime.tv_sec);printf ("stat.btime.tv_nsec = %d\n" , stx->stx_btime.tv_nsec); -printf ("stat.ctime.tv_sec = %lld\n" , stx->stx_ctime.tv_sec); +printf ("stat.ctime.tv_sec = %lld\n" , (long long )stx->stx_ctime.tv_sec);printf ("stat.ctime.tv_nsec = %d\n" , stx->stx_ctime.tv_nsec); -printf ("stat.mtime.tv_sec = %lld\n" , stx->stx_mtime.tv_sec); +printf ("stat.mtime.tv_sec = %lld\n" , (long long )stx->stx_mtime.tv_sec);printf ("stat.mtime.tv_nsec = %d\n" , stx->stx_mtime.tv_nsec);printf ("stat.rdev_major = %u\n" , stx->stx_rdev_major);printf ("stat.rdev_minor = %u\n" , stx->stx_rdev_minor);
repair/attr_repair.c +4 -2
@@ -943,14 +943,16 @@ __check_attr_header(if (be64_to_cpu (info->owner) != ino) {do_warn (_ ("expected owner inode %" PRIu64", got %llu, attr block %" PRIu64"\n" ), - ino,be64_to_cpu (info->owner), bp->b_bn); + ino, (unsigned long long )be64_to_cpu (info->owner), + bp->b_bn);return 1 ; }/* verify block number */ if (be64_to_cpu (info->blkno) != bp->b_bn) {do_warn (_ ("expected block %" PRIu64", got %llu, inode %" PRIu64"attr block\n" ), - bp->b_bn,be64_to_cpu (info->blkno), ino); + bp->b_bn, (unsigned long long )be64_to_cpu (info->blkno), + ino);return 1 ; }/* verify uuid */
repair/dinode.c +2 -1
@@ -2592,7 +2592,8 @@ process_dinode_int(if (!uncertain)do_warn (_ ("inode identifier %llu mismatch on inode %" PRIu64"\n" ), -be64_to_cpu (dino->di_ino), lino); + (unsigned long long )be64_to_cpu (dino->di_ino), + lino);if (verify_mode)return 1 ; goto clear_bad_out;
repair/phase6.c +2 -2
@@ -1964,14 +1964,14 @@ __check_dir3_header(if (be64_to_cpu (owner) != ino) {do_warn (_ ("expected owner inode %" PRIu64", got %llu, directory block %" PRIu64"\n" ), - ino,be64_to_cpu (owner), bp->b_bn); + ino, (unsigned long long )be64_to_cpu (owner), bp->b_bn);return 1 ; }/* verify block number */ if (be64_to_cpu (blkno) != bp->b_bn) {do_warn (_ ("expected block %" PRIu64", got %llu, directory inode %" PRIu64"\n" ), - bp->b_bn,be64_to_cpu (blkno), ino); + bp->b_bn, (unsigned long long )be64_to_cpu (blkno), ino);return 1 ; }/* verify uuid */
repair/scan.c +10 -5
@@ -230,7 +230,9 @@ _("expected level %d got %d in inode %" PRIu64 ", (%s fork) bmbt block %" PRIu64if (be64_to_cpu (block->bb_u.l.bb_owner) != ino) {do_warn (_ ("expected owner inode %" PRIu64", got %llu, bmbt block %" PRIu64"\n" ), - ino,be64_to_cpu (block->bb_u.l.bb_owner), bno); + ino, + (unsigned long long )be64_to_cpu (block->bb_u.l.bb_owner), + bno);return 1 ; }/* verify block number */
@@ -239,7 +241,8 @@ _("expected owner inode %" PRIu64 ", got %llu, bmbt block %" PRIu64 "\n"),do_warn (_ ("expected block %" PRIu64", got %llu, bmbt block %" PRIu64"\n" ),XFS_FSB_TO_DADDR (mp, bno), -be64_to_cpu (block->bb_u.l.bb_blkno), bno); + (unsigned long long )be64_to_cpu (block->bb_u.l.bb_blkno), + bno);return 1 ; }/* verify uuid */
@@ -1389,7 +1392,8 @@ _("expected level %d got %d in inode %" PRIu64 ", %s block %" PRIu64 "\n"),if (be64_to_cpu (block->bb_u.l.bb_owner) != ino) {do_warn (_ ("expected owner inode %" PRIu64", got %llu, %s block %" PRIu64"\n" ), - ino,be64_to_cpu (block->bb_u.l.bb_owner), name, fsbno); + ino, (unsigned long long )be64_to_cpu (block->bb_u.l.bb_owner), + name, fsbno);return 1 ; }/* verify block number */
@@ -1398,7 +1402,8 @@ _("expected owner inode %" PRIu64 ", got %llu, %s block %" PRIu64 "\n"),do_warn (_ ("expected block %" PRIu64", got %llu, %s block %" PRIu64"\n" ),XFS_FSB_TO_DADDR (mp, fsbno), -be64_to_cpu (block->bb_u.l.bb_blkno), name, fsbno); + (unsigned long long )be64_to_cpu (block->bb_u.l.bb_blkno), + name, fsbno);return 1 ; }/* verify uuid */
@@ -1965,7 +1970,7 @@ import_single_ino_chunk(_ ("ir_holemask/ir_free mismatch, %s chunk %d/%u, holemask 0x%x free 0x%llx\n" ), inobt_name, agno, ino,be16_to_cpu (rp->ir_u.sp.ir_holemask), - be64_to_cpu(rp->ir_free)); + (unsigned long long)be64_to_cpu(rp->ir_free)); suspect++; }if (!suspect && ino_rec)