[Ocfs2-tools-devel] [PATCH 3/3] Suppress warning when print __u64 in X86_64.take 2

Sunil Mushran Sunil.Mushran at oracle.com
Tue Apr 1 11:19:19 PDT 2008


Thanks. It was getting painful to watch these warnings during builds.

But am wondering if we can handle this without the way of casts.

Tao Ma wrote:
> On x86_64, when print a __u64 by using PRIu64, gcc throw a warning:
> warning: format ‘%lu’ expects type ‘long unsigned int’,
> but argument 4 has type ‘__u64’.
> It seems that PRIu64 is "lu", but __u64 is not compatible even
> though it is a 64bit value. So every member defined as __le64
> in ocfs2_fs.h will let gcc throw a warning.
> The solution here is to add "uint64_t" before it.
>
>
> Signed-off-by: Tao Ma <tao.ma at oracle.com>
> ---
>  debugfs.ocfs2/commands.c                  |    2 +-
>  debugfs.ocfs2/dump.c                      |   47 +++++++++--------
>  debugfs.ocfs2/find_block_inode.c          |    2 +-
>  extras/compute_groups.c                   |    4 +-
>  extras/find_allocation_fragments.c        |    3 +-
>  extras/find_hardlinks.c                   |   11 ++--
>  extras/find_inode_paths.c                 |    8 ++--
>  fsck.ocfs2/extent.c                       |   38 +++++++------
>  fsck.ocfs2/pass0.c                        |   85 ++++++++++++++++-------------
>  fsck.ocfs2/pass1.c                        |   77 +++++++++++++++-----------
>  fsck.ocfs2/pass2.c                        |   20 ++++----
>  fsck.ocfs2/pass4.c                        |   14 +++--
>  fsck.ocfs2/util.c                         |    4 +-
>  ocfs2console/ocfs2interface/ocfs2module.c |    2 +-
>  tunefs.ocfs2/resize.c                     |    4 +-
>  tunefs.ocfs2/sparse_file.c                |    2 +-
>  tunefs.ocfs2/tunefs.c                     |   12 ++--
>  17 files changed, 184 insertions(+), 151 deletions(-)
>
> diff --git a/debugfs.ocfs2/commands.c b/debugfs.ocfs2/commands.c
> index ed93759..13d6737 100644
> --- a/debugfs.ocfs2/commands.c
> +++ b/debugfs.ocfs2/commands.c
> @@ -469,7 +469,7 @@ static errcode_t find_block_offset(ocfs2_filesys *fs,
>  		ret = ocfs2_read_extent_block(fs, rec->e_blkno, buf);
>  		if (ret) {
>  			com_err(gbls.cmd, ret, "while reading extent %"PRIu64,
> -				rec->e_blkno);
> +				(uint64_t)rec->e_blkno);
>  			goto bail;
>  		}
>  
> diff --git a/debugfs.ocfs2/dump.c b/debugfs.ocfs2/dump.c
> index 91c34d3..b2cd776 100644
> --- a/debugfs.ocfs2/dump.c
> +++ b/debugfs.ocfs2/dump.c
> @@ -75,11 +75,11 @@ void dump_super_block(FILE *out, struct ocfs2_super_block *sb)
>  		rocompat->str);
>  
>  	fprintf(out, "\tRoot Blknum: %"PRIu64"   System Dir Blknum: %"PRIu64"\n",
> -		sb->s_root_blkno,
> -		sb->s_system_dir_blkno);
> +		(uint64_t)sb->s_root_blkno,
> +		(uint64_t)sb->s_system_dir_blkno);
>  
>  	fprintf(out, "\tFirst Cluster Group Blknum: %"PRIu64"\n",
> -		sb->s_first_cluster_group);
> +		(uint64_t)sb->s_first_cluster_group);
>  
>  	fprintf(out, "\tBlock Size Bits: %u   Cluster Size Bits: %u\n",
>  	       sb->s_blocksize_bits, sb->s_clustersize_bits);
> @@ -203,7 +203,7 @@ void dump_inode(FILE *out, struct ocfs2_dinode *in)
>  		g_string_append (flags, "Dealloc ");
>  
>  	fprintf(out, "\tInode: %"PRIu64"   Mode: 0%0o   Generation: %u (0x%x)\n",
> -	        in->i_blkno, mode, in->i_generation, in->i_generation);
> +	        (uint64_t)in->i_blkno, mode, in->i_generation, in->i_generation);
>  
>  	fprintf(out, "\tFS Generation: %u (0x%x)\n", in->i_fs_generation,
>  		in->i_fs_generation);
> @@ -216,18 +216,18 @@ void dump_inode(FILE *out, struct ocfs2_dinode *in)
>  	fprintf(out, "\tUser: %d (%s)   Group: %d (%s)   Size: %"PRIu64"\n",
>  	       in->i_uid, (pw ? pw->pw_name : "unknown"),
>  	       in->i_gid, (gr ? gr->gr_name : "unknown"),
> -	       in->i_size);
> +	       (uint64_t)in->i_size);
>  
>  	fprintf(out, "\tLinks: %u   Clusters: %u\n", in->i_links_count, in->i_clusters);
>  
>  	str = ctime((time_t*)&in->i_ctime);
> -	fprintf(out, "\tctime: 0x%"PRIx64" -- %s", in->i_ctime, str);
> +	fprintf(out, "\tctime: 0x%"PRIx64" -- %s", (uint64_t)in->i_ctime, str);
>  	str = ctime((time_t*)&in->i_atime);
> -	fprintf(out, "\tatime: 0x%"PRIx64" -- %s", in->i_atime, str);
> +	fprintf(out, "\tatime: 0x%"PRIx64" -- %s", (uint64_t)in->i_atime, str);
>  	str = ctime((time_t*)&in->i_mtime);
> -	fprintf(out, "\tmtime: 0x%"PRIx64" -- %s", in->i_mtime, str);
> +	fprintf(out, "\tmtime: 0x%"PRIx64" -- %s", (uint64_t)in->i_mtime, str);
>  	str = ctime((time_t*)&in->i_dtime);
> -	fprintf(out, "\tdtime: 0x%"PRIx64" -- %s", in->i_dtime, str);
> +	fprintf(out, "\tdtime: 0x%"PRIx64" -- %s", (uint64_t)in->i_dtime, str);
>  
>  	fprintf(out, "\tctime_nsec: 0x%08"PRIx32" -- %u\n",
>  		in->i_ctime_nsec, in->i_ctime_nsec);
> @@ -236,7 +236,7 @@ void dump_inode(FILE *out, struct ocfs2_dinode *in)
>  	fprintf(out, "\tmtime_nsec: 0x%08"PRIx32" -- %u\n",
>  		in->i_mtime_nsec, in->i_mtime_nsec);
>  
> -	fprintf(out, "\tLast Extblk: %"PRIu64"\n", in->i_last_eb_blk);
> +	fprintf(out, "\tLast Extblk: %"PRIu64"\n", (uint64_t)in->i_last_eb_blk);
>  	if (in->i_suballoc_slot == (uint16_t)OCFS2_INVALID_SLOT)
>  		strcpy(tmp_str, "Global");
>  	else
> @@ -287,7 +287,7 @@ void dump_chain_list (FILE *out, struct ocfs2_chain_list *cl)
>  		rec = &(cl->cl_recs[i]);
>  		fprintf(out, "\t%-2d   %-10u   %-10u   %-10u   %"PRIu64"\n",
>  			i, rec->c_total, (rec->c_total - rec->c_free),
> -			rec->c_free, rec->c_blkno);
> +			rec->c_free, (uint64_t)rec->c_blkno);
>  	}
>  
>  bail:
> @@ -319,12 +319,13 @@ void dump_extent_list (FILE *out, struct ocfs2_extent_list *ext)
>  
>  		if (ext->l_tree_depth)
>  			fprintf(out, "\t%-2d %-11u   %-12u   %"PRIu64"\n",
> -				i, rec->e_cpos, clusters, rec->e_blkno);
> +				i, rec->e_cpos, clusters,
> +				(uint64_t)rec->e_blkno);
>  		else
>  			fprintf(out,
>  				"\t%-2d %-11u   %-12u   %-13"PRIu64"   0x%x\n",
> -				i, rec->e_cpos, clusters, rec->e_blkno,
> -				rec->e_flags);
> +				i, rec->e_cpos, clusters,
> +				(uint64_t)rec->e_blkno,	rec->e_flags);
>  	}
>  
>  bail:
> @@ -341,7 +342,7 @@ void dump_extent_block (FILE *out, struct ocfs2_extent_block *blk)
>  		 blk->h_suballoc_bit, blk->h_suballoc_slot);
>  
>  	fprintf (out, "\tBlknum: %"PRIu64"   Next Leaf: %"PRIu64"\n",
> -		 blk->h_blkno, blk->h_next_leaf_blk);
> +		 (uint64_t)blk->h_blkno, (uint64_t)blk->h_next_leaf_blk);
>  
>  	return ;
>  }
> @@ -359,7 +360,7 @@ void dump_group_descriptor (FILE *out, struct ocfs2_group_desc *grp,
>  		fprintf (out, "\tGroup Chain: %u   Parent Inode: %"PRIu64"  "
>  			 "Generation: %u\n",
>  			 grp->bg_chain,
> -			 grp->bg_parent_dinode,
> +			 (uint64_t)grp->bg_parent_dinode,
>  			 grp->bg_generation);
>  		fprintf(out, "\t##   %-15s   %-6s   %-6s   %-6s   %-6s   %-6s\n",
>  			"Block#", "Total", "Used", "Free", "Contig", "Size");
> @@ -368,7 +369,7 @@ void dump_group_descriptor (FILE *out, struct ocfs2_group_desc *grp,
>  	find_max_contig_free_bits(grp, &max_contig_free_bits);
>  
>  	fprintf(out, "\t%-2d   %-15"PRIu64"   %-6u   %-6u   %-6u   %-6u   %-6u\n",
> -		index, grp->bg_blkno, grp->bg_bits,
> +		index, (uint64_t)grp->bg_blkno, grp->bg_bits,
>  		(grp->bg_bits - grp->bg_free_bits_count),
>  		grp->bg_free_bits_count, max_contig_free_bits, grp->bg_size);
>  
> @@ -391,7 +392,8 @@ int  dump_dir_entry (struct ocfs2_dir_entry *rec, int offset, int blocksize,
>  	rec->name[rec->name_len] = '\0';
>  
>  	if (!ls->long_opt) {
> -		fprintf(ls->out, "\t%-15"PRIu64" %-4u %-4u %-2u %s\n", rec->inode,
> +		fprintf(ls->out, "\t%-15"PRIu64" %-4u %-4u %-2u %s\n",
> +			(uint64_t)rec->inode,
>  			rec->rec_len, rec->name_len, rec->file_type, rec->name);
>  	} else {
>  		memset(ls->buf, 0, ls->fs->fs_blocksize);
> @@ -402,8 +404,9 @@ int  dump_dir_entry (struct ocfs2_dir_entry *rec, int offset, int blocksize,
>  		inode_time_to_str(di->i_mtime, timestr, sizeof(timestr));
>  
>  		fprintf(ls->out, "\t%-15"PRIu64" %10s %3u %5u %5u %15"PRIu64" %s %s\n",
> -		       	rec->inode, perms, di->i_links_count, di->i_uid, di->i_gid,
> -			di->i_size, timestr, rec->name);
> +			(uint64_t)rec->inode, perms, di->i_links_count,
> +			di->i_uid, di->i_gid,
> +			(uint64_t)di->i_size, timestr, rec->name);
>  	}
>  
>  	rec->name[rec->name_len] = tmp;
> @@ -640,8 +643,8 @@ void dump_hb (FILE *out, char *buf, uint32_t len)
>  		if (hb->hb_seq)
>  			fprintf (out, "\t%4u: %4u %016"PRIx64" %016"PRIx64" "
>  				 "%08"PRIx32"\n", i,
> -				 hb->hb_node, hb->hb_seq, hb->hb_generation,
> -				 hb->hb_cksum);
> +				 hb->hb_node, (uint64_t)hb->hb_seq,
> +				 (uint64_t)hb->hb_generation, hb->hb_cksum);
>  	}
>  
>  	return ;
> diff --git a/debugfs.ocfs2/find_block_inode.c b/debugfs.ocfs2/find_block_inode.c
> index 1a708a8..a6c9754 100644
> --- a/debugfs.ocfs2/find_block_inode.c
> +++ b/debugfs.ocfs2/find_block_inode.c
> @@ -77,7 +77,7 @@ static errcode_t lookup_regular(ocfs2_filesys *fs, uint64_t inode,
>  			ret = ocfs2_read_extent_block(fs, rec->e_blkno, buf);
>  			if (ret) {
>  				com_err(gbls.cmd, ret, "while reading extent "
> -					"block %"PRIu64, rec->e_blkno);
> +					"block %"PRIu64, (uint64_t)rec->e_blkno);
>  				goto bail;
>  			}
>  
> diff --git a/extras/compute_groups.c b/extras/compute_groups.c
> index e56fc33..dd5b158 100644
> --- a/extras/compute_groups.c
> +++ b/extras/compute_groups.c
> @@ -67,8 +67,8 @@ int main (int argc, char **argv)
>  		for (cs = 12; cs < 21; cs++) {
>  			for (bytoff = 0, clsoff = 0; bytoff < max_size; ) {
>  				stringyfy((1 << cs), 'c', clsstr);
> -				printf("%-15llu  %-7s  %-7s\n", bytoff, clsstr,
> -				       blkstr);
> +				printf("%-15"PRIu64" %-7s  %-7s\n",
> +				       bytoff, clsstr, blkstr);
>  				clsoff += cpg;
>  				bytoff = clsoff * (1 << cs);
>  			}
> diff --git a/extras/find_allocation_fragments.c b/extras/find_allocation_fragments.c
> index 439a8e7..0724655 100644
> --- a/extras/find_allocation_fragments.c
> +++ b/extras/find_allocation_fragments.c
> @@ -89,7 +89,8 @@ static int print_group(struct ocfs2_group_desc *gd)
>  
>  		free = end - start;
>  
> -		printf("%-6u   %-6u   %"PRIu64"\n", free, start, gd->bg_blkno);
> +		printf("%-6u   %-6u   %"PRIu64"\n", free, start,
> +		       (uint64_t)gd->bg_blkno);
>  
>  		if (free < FREE_BIT_STATS)
>  			free_bit_stats[free]++;
> diff --git a/extras/find_hardlinks.c b/extras/find_hardlinks.c
> index cef0c90..b70f58b 100644
> --- a/extras/find_hardlinks.c
> +++ b/extras/find_hardlinks.c
> @@ -94,8 +94,8 @@ static int walk_tree_func(struct ocfs2_dir_entry *dentry,
>  		ret = ocfs2_bitmap_test(wp->dup_map, dentry->inode,
>  					&oldval);
>  		if (oldval) {
> -			fprintf(stdout, "Dup! %20"PRIu64" %s\n", dentry->inode, 
> -					path);
> +			fprintf(stdout, "Dup! %20"PRIu64" %s\n",
> +				(uint64_t)dentry->inode, path);
>  		}
>  		goto out;
>  	}
> @@ -105,7 +105,7 @@ static int walk_tree_func(struct ocfs2_dir_entry *dentry,
>  	if (ret) {
>  		com_err(wp->argv0, ret,
>  			"while setting bitmap bit %"PRIu64"\n",
> -			dentry->inode);
> +			(uint64_t)dentry->inode);
>  		reti = OCFS2_DIRENT_ABORT;
>  		goto out;
>  	}
> @@ -117,14 +117,15 @@ static int walk_tree_func(struct ocfs2_dir_entry *dentry,
>  		if (ret) {
>  			com_err(wp->argv0, ret,
>  				"while setting dup bit %"PRIu64"\n",
> -				dentry->inode);
> +				(uint64_t)dentry->inode);
>  			reti = OCFS2_DIRENT_ABORT;
>  			goto out;
>  		}
>  	}
>  
>  	if (!wp->quiet)
> -		fprintf(stdout, "%20"PRIu64" %s\n", dentry->inode, path);
> +		fprintf(stdout, "%20"PRIu64" %s\n",
> +			(uint64_t)dentry->inode, path);
>  
>  	if (dentry->file_type == OCFS2_FT_DIR) {
>  		old_path = wp->path;
> diff --git a/extras/find_inode_paths.c b/extras/find_inode_paths.c
> index ea8942a..1725b40 100644
> --- a/extras/find_inode_paths.c
> +++ b/extras/find_inode_paths.c
> @@ -91,12 +91,12 @@ static int walk_tree_func(struct ocfs2_dir_entry *dentry,
>  	oldval = 0;
>  
>  	if (!wp->quiet)
> -		fprintf(stdout, "[trace] %13"PRIu64" %s\n", dentry->inode, 
> -				path);
> +		fprintf(stdout, "[trace] %13"PRIu64" %s\n",
> +			(uint64_t)dentry->inode, path);
>  
>  	if (dentry->inode == wp->inode)
> -		fprintf(stdout, "[found] %13"PRIu64" %s\n", dentry->inode, 
> -				path);
> +		fprintf(stdout, "[found] %13"PRIu64" %s\n",
> +			(uint64_t)dentry->inode, path);
>  
>  	if (dentry->file_type == OCFS2_FT_DIR) {
>  		old_path = wp->path;
> diff --git a/fsck.ocfs2/extent.c b/fsck.ocfs2/extent.c
> index 718719a..dc412f3 100644
> --- a/fsck.ocfs2/extent.c
> +++ b/fsck.ocfs2/extent.c
> @@ -85,7 +85,7 @@ static errcode_t check_eb(o2fsck_state *ost, struct extent_info *ei,
>  	if (ret) {
>  		com_err(whoami, ret, "reading extent block at %"PRIu64" in "
>  			"inode %"PRIu64" for verification", blkno, 
> -			di->i_blkno);
> +			(uint64_t)di->i_blkno);
>  		if (ret == OCFS2_ET_BAD_EXTENT_BLOCK_MAGIC)
>  			*is_valid = 0;
>  		goto out;
> @@ -97,8 +97,8 @@ static errcode_t check_eb(o2fsck_state *ost, struct extent_info *ei,
>  	    prompt(ost, PY, PR_EB_BLKNO,
>  		   "An extent block at %"PRIu64" in inode %"PRIu64" "
>  		   "claims to be located at block %"PRIu64".  Update the "
> -		   "extent block's location?", blkno, di->i_blkno,
> -		   eb->h_blkno)) {
> +		   "extent block's location?", blkno, (uint64_t)di->i_blkno,
> +		   (uint64_t)eb->h_blkno)) {
>  		eb->h_blkno = blkno;
>  		changed = 1;
>  	}
> @@ -108,8 +108,10 @@ static errcode_t check_eb(o2fsck_state *ost, struct extent_info *ei,
>  			   "An extent block at %"PRIu64" in inode "
>  			   "%"PRIu64" has a generation of %x which doesn't "
>  			   "match the volume's generation of %x.  Consider "
> -			   "this extent block invalid?", blkno, di->i_blkno,
> -			   eb->h_fs_generation, ost->ost_fs_generation)) {
> +			   "this extent block invalid?", blkno,
> +			   (uint64_t)di->i_blkno,
> +			   (uint64_t)eb->h_fs_generation,
> +			   ost->ost_fs_generation)) {
>  
>  			*is_valid = 0;
>  			goto out;
> @@ -135,7 +137,7 @@ static errcode_t check_eb(o2fsck_state *ost, struct extent_info *ei,
>  		if (ret) {
>  			com_err(whoami, ret, "while writing an updated extent "
>  				"block at %"PRIu64" for inode %"PRIu64,
> -				blkno, di->i_blkno);
> +				blkno, (uint64_t)di->i_blkno);
>  			goto out;
>  		}
>  	}
> @@ -159,7 +161,7 @@ static errcode_t check_er(o2fsck_state *ost, struct extent_info *ei,
>  
>  	clusters = ocfs2_rec_clusters(el->l_tree_depth, er);
>  	verbosef("cpos %u clusters %u blkno %"PRIu64"\n", er->e_cpos,
> -		 clusters, er->e_blkno);
> +		 clusters, (uint64_t)er->e_blkno);
>  
>  	if (ocfs2_block_out_of_range(ost->ost_fs, er->e_blkno))
>  		goto out;
> @@ -177,8 +179,8 @@ static errcode_t check_er(o2fsck_state *ost, struct extent_info *ei,
>  			   "The extent record for cluster offset "
>  			   "%"PRIu32" in inode %"PRIu64" refers to an invalid "
>  			   "extent block at %"PRIu64".  Clear the reference "
> -			   "to this invalid block?", er->e_cpos, di->i_blkno,
> -			   er->e_blkno)) {
> +			   "to this invalid block?", er->e_cpos,
> +			   (uint64_t)di->i_blkno, (uint64_t)er->e_blkno)) {
>  
>  			er->e_blkno = 0;
>  			*changed = 1;
> @@ -196,7 +198,8 @@ static errcode_t check_er(o2fsck_state *ost, struct extent_info *ei,
>  		   "in inode %"PRIu64" refers to block %"PRIu64" which isn't "
>  		   "aligned with the start of a cluster.  Point the extent "
>  		   "record at block %"PRIu64" which starts this cluster?",
> -		   er->e_cpos, di->i_blkno, er->e_blkno, first_block)) {
> +		   er->e_cpos, (uint64_t)di->i_blkno,
> +		   (uint64_t)er->e_blkno, first_block)) {
>  
>  		er->e_blkno = first_block;
>  		*changed = 1;
> @@ -212,8 +215,9 @@ static errcode_t check_er(o2fsck_state *ost, struct extent_info *ei,
>  		   "The extent record for cluster offset %"PRIu32" "
>  		   "in inode %"PRIu64" refers to an extent that goes beyond "
>  		   "the end of the volume.  Truncate the extent by %"PRIu32" "
> -		   "clusters to fit it in the volume?", er->e_cpos, 
> -		   di->i_blkno, last_cluster - ost->ost_fs->fs_clusters)) {
> +		   "clusters to fit it in the volume?", er->e_cpos,
> +		   (uint64_t)di->i_blkno,
> +		   last_cluster - ost->ost_fs->fs_clusters)) {
>  
>  		clusters -= last_cluster - ost->ost_fs->fs_clusters;
>  		ocfs2_set_rec_clusters(el->l_tree_depth, er, clusters);
> @@ -249,7 +253,7 @@ static errcode_t check_el(o2fsck_state *ost, struct extent_info *ei,
>  	    prompt(ost, PY, PR_EXTENT_LIST_DEPTH,
>  		   "Extent list in inode %"PRIu64" is recorded as "
>  		   "being at depth %u but we expect it to be at depth %u. "
> -		   "update the list?", di->i_blkno, el->l_tree_depth,
> +		   "update the list?", (uint64_t)di->i_blkno, el->l_tree_depth,
>  		   ei->ei_expected_depth)) {
>  
>  		el->l_tree_depth = ei->ei_expected_depth;
> @@ -260,7 +264,7 @@ static errcode_t check_el(o2fsck_state *ost, struct extent_info *ei,
>  	    prompt(ost, PY, PR_EXTENT_LIST_COUNT,
>  		   "Extent list in inode %"PRIu64" claims to have %u "
>  		   "records, but the maximum is %u. Fix the list's count?",
> -		   di->i_blkno, el->l_count, max_recs)) {
> +		   (uint64_t)di->i_blkno, el->l_count, max_recs)) {
>  
>  		el->l_count = max_recs;
>  		*changed = 1;
> @@ -274,8 +278,8 @@ static errcode_t check_el(o2fsck_state *ost, struct extent_info *ei,
>  		  	   "Extent list in inode %"PRIu64" claims %u "
>  			   "as the next free chain record, but fsck believes "
>  			   "the largest valid value is %u.  Clamp the next "
> -			   "record value?", di->i_blkno, el->l_next_free_rec,
> -			   max_recs)) {
> +			   "record value?", (uint64_t)di->i_blkno,
> +			   el->l_next_free_rec, max_recs)) {
>  
>  			el->l_next_free_rec = el->l_count;
>  			*changed = 1;
> @@ -311,7 +315,7 @@ static errcode_t check_el(o2fsck_state *ost, struct extent_info *ei,
>  			   "Extent record %u in inode %"PRIu64" "
>  			   "refers to a block that is out of range.  Remove "
>  			   "this record from the extent list?", i,
> -			   di->i_blkno)) {
> +			   (uint64_t)di->i_blkno)) {
>  
>  			if (!trust_next_free) {
>  				printf("Can't remove the record becuase "
> diff --git a/fsck.ocfs2/pass0.c b/fsck.ocfs2/pass0.c
> index dca3f23..35a0f59 100644
> --- a/fsck.ocfs2/pass0.c
> +++ b/fsck.ocfs2/pass0.c
> @@ -167,8 +167,9 @@ static errcode_t repair_group_desc(o2fsck_state *ost,
>  	int max_free_bits = 0;
>  
>  	verbosef("checking desc at %"PRIu64"; blkno %"PRIu64" size %u bits %u "
> -		 "free_bits %u chain %u generation %u\n", blkno, bg->bg_blkno,
> -		 bg->bg_size, bg->bg_bits, bg->bg_free_bits_count, 
> +		 "free_bits %u chain %u generation %u\n", blkno,
> +		 (uint64_t)bg->bg_blkno,
> +		 (uint64_t)bg->bg_size, bg->bg_bits, bg->bg_free_bits_count,
>  		 bg->bg_chain, bg->bg_generation);
>  
>  	if (bg->bg_generation != ost->ost_fs_generation &&
> @@ -202,7 +203,8 @@ static errcode_t repair_group_desc(o2fsck_state *ost,
>  		   "referenced by inode %"PRIu64" but thinks its parent inode "
>  		   "is %"PRIu64" and we can also see it in that inode."
>  		    " So it may be duplicated.  Remove it from this inode?",
> -		    blkno, di->i_blkno, bg->bg_parent_dinode)) {
> +		    blkno, (uint64_t)di->i_blkno,
> +		    (uint64_t)bg->bg_parent_dinode)) {
>  			*clear_ref = 1;
>  			goto out;
>  		}
> @@ -211,7 +213,7 @@ static errcode_t repair_group_desc(o2fsck_state *ost,
>  		   "Group descriptor at block %"PRIu64" is "
>  		   "referenced by inode %"PRIu64" but thinks its parent inode "
>  		   "is %"PRIu64".  Fix the descriptor's parent inode?", blkno,
> -		   di->i_blkno, bg->bg_parent_dinode)) {
> +		   (uint64_t)di->i_blkno, (uint64_t)bg->bg_parent_dinode)) {
>  			bg->bg_parent_dinode = di->i_blkno;
>  			changed = 1;
>  		}
> @@ -222,7 +224,7 @@ static errcode_t repair_group_desc(o2fsck_state *ost,
>  	    prompt(ost, PY, PR_GROUP_BLKNO,
>  		   "Group descriptor read from block %"PRIu64" "
>  		   "claims to be located at block %"PRIu64".  Update its "
> -		   "recorded block location?", blkno, di->i_blkno)) {
> +		   "recorded block location?", blkno, (uint64_t)di->i_blkno)) {
>  		bg->bg_blkno = blkno;
>  		changed = 1;
>  	}
> @@ -259,7 +261,8 @@ static errcode_t repair_group_desc(o2fsck_state *ost,
>  			com_err(whoami, ret, "while writing a group "
>  				"descriptor to block %"PRIu64" somewhere in "
>  				"chain %d in group allocator inode %"PRIu64, 
> -				bg->bg_blkno, cs->cs_chain_no, di->i_blkno);
> +				(uint64_t)bg->bg_blkno, cs->cs_chain_no,
> +				(uint64_t)di->i_blkno);
>  			ost->ost_saw_error = 1;
>  		}
>  	}
> @@ -332,7 +335,7 @@ static void unlink_group_desc(o2fsck_state *ost,
>  					"descriptor to block %"PRIu64" "
>  					"somewhere in chain %d in group "
>  					"allocator inode %"PRIu64, 
> -					next_desc, i, di->i_blkno);
> +					next_desc, i, (uint64_t)di->i_blkno);
>  				ost->ost_saw_error = 1;
>  				goto out;
>  			}
> @@ -367,7 +370,7 @@ static void unlink_group_desc(o2fsck_state *ost,
>  	if (ret) {
>  		/* XXX ugh, undo the bitmap math? */
>  		com_err(whoami, ret, "while writing inode alloc inode "
> -			    "%"PRIu64, di->i_blkno);
> +			    "%"PRIu64, (uint64_t)di->i_blkno);
>  		ost->ost_saw_error = 1;
>  		goto out;
>  	}
> @@ -434,13 +437,14 @@ static errcode_t maybe_fix_clusters_per_group(o2fsck_state *ost,
>  
>  	if (prompt(ost, PY, PR_CHAIN_CPG,
>  		   "Global bitmap at block %"PRIu64" has clusters per group "
> -		   "set to %u instead of %u. Fix?", di->i_blkno, cl->cl_cpg,
> -		   new_cl_cpg)) {
> +		   "set to %u instead of %u. Fix?", (uint64_t)di->i_blkno,
> +		   cl->cl_cpg, new_cl_cpg)) {
>  		cl->cl_cpg = new_cl_cpg;
>  		ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
>  		if (ret) {
>  			com_err(whoami, ret, "while writing inode alloc inode "
> -				"%"PRIu64" to fix cl_cpg", di->i_blkno);
> +				"%"PRIu64" to fix cl_cpg",
> +				(uint64_t)di->i_blkno);
>  			ost->ost_saw_error = 1;
>  			ret = 0;
>  		}
> @@ -470,7 +474,7 @@ static errcode_t check_chain(o2fsck_state *ost,
>  	int depth = 0, clear_ref = 0;
>  
>  	verbosef("free %u total %u blkno %"PRIu64"\n", chain->c_free,
> -		 chain->c_total, chain->c_blkno);
> +		 chain->c_total, (uint64_t)chain->c_blkno);
>  
>  	while(1) {
>  		/* fetch the next reference */
> @@ -512,8 +516,8 @@ static errcode_t check_chain(o2fsck_state *ost,
>  				   "%"PRIu64" contains a reference at depth "
>  				   "%d to block %"PRIu64" which is out "
>  				   "of range. Truncate this chain?",
> -				   cs->cs_chain_no, di->i_blkno, depth,
> -				   blkno))  {
> +				   cs->cs_chain_no, (uint64_t)di->i_blkno,
> +				   depth, blkno))  {
>  
>  				clear_ref = 1;
>  				break;
> @@ -529,8 +533,8 @@ static errcode_t check_chain(o2fsck_state *ost,
>  				   "%"PRIu64" contains a reference at depth "
>  				   "%d to block %"PRIu64" which doesn't have "
>  				   "a valid checksum.  Truncate this chain?",
> -				   cs->cs_chain_no, di->i_blkno, depth,
> -				   blkno))  {
> +				   cs->cs_chain_no, (uint64_t)di->i_blkno,
> +				   depth, blkno))  {
>  
>  				clear_ref = 1;
>  				break;
> @@ -545,7 +549,7 @@ static errcode_t check_chain(o2fsck_state *ost,
>  				"descriptor from block %"PRIu64" as pointed "
>  				"to by chain %d in allocator at inode "
>  				"%"PRIu64" at depth %d", blkno, 
> -				cs->cs_chain_no, di->i_blkno, depth);
> +				cs->cs_chain_no, (uint64_t)di->i_blkno, depth);
>  			goto out;
>  		}
>  
> @@ -596,8 +600,8 @@ static errcode_t check_chain(o2fsck_state *ost,
>  					"descriptor at depth %d in chain %d "
>  					"in group allocator inode %"PRIu64" "
>  					"to block %"PRIu64, depth,
> -					cs->cs_chain_no, di->i_blkno,
> -					bg1->bg_blkno);
> +					cs->cs_chain_no, (uint64_t)di->i_blkno,
> +					(uint64_t)bg1->bg_blkno);
>  				ost->ost_saw_error = 1;
>  			}
>  		}
> @@ -610,7 +614,8 @@ static errcode_t check_chain(o2fsck_state *ost,
>  			   "has %u bits marked free out of %d total bits "
>  			   "but the block groups in the chain have %u "
>  			   "free out of %u total.  Fix this by updating "
> -			   "the chain record?", cs->cs_chain_no, di->i_blkno,
> +			   "the chain record?", cs->cs_chain_no,
> +			   (uint64_t)di->i_blkno,
>  			   chain->c_free, chain->c_total, cs->cs_free_bits,
>  			   cs->cs_total_bits)) {
>  			chain->c_total = cs->cs_total_bits;
> @@ -643,21 +648,23 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  	if (memcmp(di->i_signature, OCFS2_INODE_SIGNATURE,
>  		   strlen(OCFS2_INODE_SIGNATURE))) {
>  		printf("Allocator inode %"PRIu64" doesn't have an inode "
> -		       "signature.  fsck won't repair this.\n", di->i_blkno);
> +		       "signature.  fsck won't repair this.\n",
> +		       (uint64_t)di->i_blkno);
>  		ret = OCFS2_ET_BAD_INODE_MAGIC;
>  		goto out;
>  	}
>  
>  	if (!(di->i_flags & OCFS2_VALID_FL)) {
>  		printf("Allocator inode %"PRIu64" is not active.  fsck won't "
> -		       "repair this.\n", di->i_blkno);
> +		       "repair this.\n", (uint64_t)di->i_blkno);
>  		ret = OCFS2_ET_INODE_NOT_VALID;
>  		goto out;
>  	}
>  
>  	if (!(di->i_flags & OCFS2_CHAIN_FL)) {
>  		printf("Allocator inode %"PRIu64" doesn't have the CHAIN_FL "
> -			"flag set.  fsck won't repair this.\n", di->i_blkno);
> +		       "flag set.  fsck won't repair this.\n",
> +		       (uint64_t)di->i_blkno);
>  		/* not _entirely_ accurate, but pretty close. */
>  		ret = OCFS2_ET_INODE_NOT_VALID;
>  		goto out;
> @@ -682,7 +689,7 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  			   "Chain %d in allocator inode %"PRIu64" "
>  			   "contains an initial block reference to %"PRIu64" "
>  			   "which is out of range.  Clear this reference?",
> -			   i, di->i_blkno, cr->c_blkno)) {
> +			   i, (uint64_t)di->i_blkno, (uint64_t)cr->c_blkno)) {
>  
>  			cr->c_blkno = 0;
>  			changed = 1;
> @@ -694,7 +701,7 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  	    prompt(ost, PY, PR_CHAIN_COUNT,
>  		   "Allocator inode %"PRIu64" claims to have %u "
>  		   "chains, but the maximum is %u. Fix the inode's count?",
> -		   di->i_blkno, cl->cl_count, max_count)) {
> +		   (uint64_t)di->i_blkno, cl->cl_count, max_count)) {
>  		cl->cl_count = max_count;
>  		changed = 1;
>  	}
> @@ -707,7 +714,8 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  			   "Allocator inode %"PRIu64" claims %u "
>  			   "as the next free chain record, but fsck believes "
>  			   "the largest valid value is %u.  Clamp the next "
> -			   "record value?", di->i_blkno, cl->cl_next_free_rec,
> +			   "record value?", (uint64_t)di->i_blkno,
> +			   cl->cl_next_free_rec,
>  			   max_count)) {
>  			cl->cl_next_free_rec = cl->cl_count;
>  			changed = 1;
> @@ -743,7 +751,8 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  			   "Chain %d in allocator inode %"PRIu64" "
>  			   "is empty.  Remove it from the chain record "
>  			   "array in the inode and shift further chains "
> -			   "into its place?", cs.cs_chain_no, di->i_blkno)) {
> +			   "into its place?", cs.cs_chain_no,
> +			   (uint64_t)di->i_blkno)) {
>  
>  			if (!trust_next_free) {
>  				printf("Can't remove the chain becuase "
> @@ -781,7 +790,7 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  			   "Allocator inode %"PRIu64" has %u bits "
>  			   "marked used out of %d total bits but the chains "
>  			   "have %u used out of %u total.  Fix this by "
> -			   "updating the inode counts?", di->i_blkno,
> +			   "updating the inode counts?", (uint64_t)di->i_blkno,
>  			   di->id1.bitmap1.i_used, di->id1.bitmap1.i_total,
>  			   total - free, total)) {
>  			   di->id1.bitmap1.i_used = total - free;
> @@ -798,7 +807,8 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  		   "Allocator inode %"PRIu64" has %"PRIu32" clusters "
>  		   "represented in its allocator chains but has an "
>  		   "i_clusters value of %"PRIu32". Fix this by updating "
> -		   "i_clusters?", di->i_blkno, total, di->i_clusters)) {
> +		   "i_clusters?", (uint64_t)di->i_blkno,
> +		   total, di->i_clusters)) {
>  		di->i_clusters = total;
>  		changed = 1;
>  	}
> @@ -809,8 +819,9 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  		   "Allocator inode %"PRIu64" has %"PRIu32" clusters "
>  		   "represented in its allocator chain which accounts for "
>  		   "%"PRIu64" total bytes, but its i_size is %"PRIu64". "
> -		   "Fix this by updating i_size?", di->i_blkno,
> -		   di->id1.bitmap1.i_total, chain_bytes, di->i_size)) {
> +		   "Fix this by updating i_size?", (uint64_t)di->i_blkno,
> +		   di->id1.bitmap1.i_total, chain_bytes,
> +		   (uint64_t)di->i_size)) {
>  		di->i_size = chain_bytes;
>  		changed = 1;
>  	}
> @@ -819,7 +830,7 @@ static errcode_t verify_chain_alloc(o2fsck_state *ost,
>  		ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
>  		if (ret) {
>  			com_err(whoami, ret, "while writing inode alloc inode "
> -				    "%"PRIu64, di->i_blkno);
> +				    "%"PRIu64, (uint64_t)di->i_blkno);
>  			ost->ost_saw_error = 1;
>  			ret = 0;
>  		}
> @@ -882,7 +893,7 @@ static errcode_t verify_bitmap_descs(o2fsck_state *ost,
>  	ret = verify_chain_alloc(ost, di, buf1, buf2, allowed, forbidden);
>  	if (ret) {
>  		com_err(whoami, ret, "while looking up chain allocator inode "
> -			"%"PRIu64, di->i_blkno);
> +			"%"PRIu64, (uint64_t)di->i_blkno);
>  		goto out;
>  	}
>  
> @@ -1007,7 +1018,7 @@ static errcode_t verify_bitmap_descs(o2fsck_state *ost,
>  		ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
>  		if (ret) {
>  			com_err(whoami, ret, "while writing inode alloc inode "
> -				    "%"PRIu64, di->i_blkno);
> +				    "%"PRIu64, (uint64_t)di->i_blkno);
>  			ost->ost_saw_error = 1;
>  			goto out;
>  		}
> @@ -1069,7 +1080,7 @@ errcode_t o2fsck_pass0(o2fsck_state *ost)
>  	}
>  
>  	verbosef("found inode alloc %"PRIu64" at block %"PRIu64"\n",
> -		 di->i_blkno, blkno);
> +		 (uint64_t)di->i_blkno, blkno);
>  
>  	ret = maybe_fix_clusters_per_group(ost, di);
>  	if (ret)
> @@ -1122,7 +1133,7 @@ errcode_t o2fsck_pass0(o2fsck_state *ost)
>  		}
>  
>  		verbosef("found inode alloc %"PRIu64" at block %"PRIu64"\n",
> -			 di->i_blkno, blkno);
> +			 (uint64_t)di->i_blkno, blkno);
>  
>  		ret = verify_chain_alloc(ost, di,
>  					 blocks + ost->ost_fs->fs_blocksize,
> @@ -1175,7 +1186,7 @@ errcode_t o2fsck_pass0(o2fsck_state *ost)
>  		}
>  
>  		verbosef("found extent alloc %"PRIu64" at block %"PRIu64"\n",
> -			 di->i_blkno, blkno);
> +			 (uint64_t)di->i_blkno, blkno);
>  
>  		ret = verify_chain_alloc(ost, di,
>  					 blocks + ost->ost_fs->fs_blocksize,
> diff --git a/fsck.ocfs2/pass1.c b/fsck.ocfs2/pass1.c
> index 6e739ad..a4effce 100644
> --- a/fsck.ocfs2/pass1.c
> +++ b/fsck.ocfs2/pass1.c
> @@ -191,7 +191,8 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			   "Local alloc inode %"PRIu64" claims to "
>  			   "have %u bytes of bitmap data but %u bytes is the "
>  			   "maximum allowed.  Set the inode's count to the "
> -			   "maximum?", di->i_blkno, la->la_size, max)) {
> +			   "maximum?", (uint64_t)di->i_blkno,
> +			   la->la_size, max)) {
>  
>  			la->la_size = max;
>  			changed = 1;
> @@ -205,7 +206,7 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			if (prompt(ost, PY, PR_LALLOC_NZ_USED,
>  				   "Local alloc inode %"PRIu64" "
>  			    "isn't in use bit its i_used isn't 0.  Set it to "
> -			    "0?", di->i_blkno)) {
> +			    "0?", (uint64_t)di->i_blkno)) {
>  
>  				di->id1.bitmap1.i_used = 0;
>  				changed = 1;
> @@ -216,7 +217,7 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			if (prompt(ost, PY, PR_LALLOC_NZ_BM,
>  				   "Local alloc inode %"PRIu64" "
>  			    "isn't in use bit its i_bm_off isn't 0.  Set it "
> -			    "to 0?", di->i_blkno)) {
> +			    "to 0?", (uint64_t)di->i_blkno)) {
>  
>  				la->la_bm_off = 0;
>  				changed = 1;
> @@ -232,7 +233,7 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			   "Local alloc inode %"PRIu64" claims to "
>  			   "contain a bitmap that starts at cluster %u but "
>  			   "the volume contains %u clusters.  Mark the local "
> -			   "alloc bitmap as unused?", di->i_blkno,
> +			   "alloc bitmap as unused?", (uint64_t)di->i_blkno,
>  			   la->la_bm_off, ost->ost_fs->fs_clusters)) {
>  			clear = 1;
>  		}
> @@ -244,7 +245,8 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			   "Local alloc inode %"PRIu64" claims to "
>  			   "have a bitmap with %u bits but the inode can only "
>  			   "fit %u bits.  Clamp the bitmap size to this "
> -			   "maxmum?", di->i_blkno, di->id1.bitmap1.i_total,
> +			   "maxmum?", (uint64_t)di->i_blkno,
> +			   di->id1.bitmap1.i_total,
>  			   la->la_size * 8)) {
>  
>  			di->id1.bitmap1.i_total = la->la_size * 8;
> @@ -260,7 +262,7 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  			   "have a bitmap that covers clusters numbered %u "
>  			   "through %u but %u is the last valid cluster. "
>  			   "Mark the local bitmap as unused?",
> -			   di->i_blkno,
> +			   (uint64_t)di->i_blkno,
>  			   la->la_bm_off,
>  			   la->la_bm_off + di->id1.bitmap1.i_total - 1, 
>  			   ost->ost_fs->fs_clusters - 1)) {
> @@ -277,7 +279,7 @@ static errcode_t verify_local_alloc(o2fsck_state *ost,
>  		if (prompt(ost, PY, PR_LALLOC_USED_OVERRUN,
>  			   "Local alloc inode %"PRIu64" claims to "
>  			   "contain a bitmap with %u bits and %u used.  Set "
> -			   "i_used down to %u?", di->i_blkno,
> +			   "i_used down to %u?", (uint64_t)di->i_blkno,
>  			   di->id1.bitmap1.i_total, di->id1.bitmap1.i_used, 
>  			   di->id1.bitmap1.i_total)) {
>  
> @@ -291,7 +293,7 @@ out:
>  	    prompt(ost, PY, PR_LALLOC_CLEAR,
>  		   "Local alloc inode %"PRIu64" contained errors. "
>  		   "Mark it as unused instead of trying to correct its "
> -		   "bitmap?", di->i_blkno)) {
> +		   "bitmap?", (uint64_t)di->i_blkno)) {
>  		clear = 1;
>  	}
>  
> @@ -308,7 +310,7 @@ out:
>  		ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
>  		if (ret) {
>  			com_err(whoami, ret, "while writing local alloc inode "
> -				    "%"PRIu64, di->i_blkno);
> +				    "%"PRIu64, (uint64_t)di->i_blkno);
>  			ost->ost_write_error = 1;
>  			ret = 0;
>  		}
> @@ -336,7 +338,7 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  	    prompt(ost, PY, PR_DEALLOC_COUNT,
>  		   "Truncate log inode %"PRIu64" claims space for %u records but only %u "
>  		   "records are possible.  Set the inode's count to the maximum?",
> -		   di->i_blkno, tl->tl_count, max)) {
> +		   (uint64_t)di->i_blkno, tl->tl_count, max)) {
>  
>  		tl->tl_count = max;
>  		changed = 1;
> @@ -346,8 +348,8 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  	    prompt(ost, PY, PR_DEALLOC_USED,
>  		   "Truncate log inode %"PRIu64" claims to be using %u records but the "
>  		   "inode can only hold %u records.  Change the number used to reflect "
> -		   "the maximum possible in the inode?", di->i_blkno, tl->tl_used,
> -		   tl->tl_count)) {
> +		   "the maximum possible in the inode?", (uint64_t)di->i_blkno,
> +		   tl->tl_used, tl->tl_count)) {
>  
>  		tl->tl_used = tl->tl_count;
>  		changed = 1;
> @@ -368,8 +370,8 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  			   "Truncate record at offset %u in truncate log "
>  			   "inode %"PRIu64" starts at cluster %u but there "
>  			   "are %u clusters in the volume. Remove this record "
> -			   "from the log?", i, di->i_blkno, tr->t_start,
> -			   ost->ost_fs->fs_clusters)) {
> +			   "from the log?", i, (uint64_t)di->i_blkno,
> +			   tr->t_start, ost->ost_fs->fs_clusters)) {
>  				zero = 1;
>  		}
>  
> @@ -380,7 +382,8 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  			   "%u clusters.  It can't have this many clusters "
>  			   "as that overflows the number of possible clusters "
>  			   "in a volume.  Remove this record from the log?",
> -			   i, di->i_blkno, tr->t_start, tr->t_clusters)) {
> +			   i, (uint64_t)di->i_blkno,
> +			   tr->t_start, tr->t_clusters)) {
>  				zero = 1;
>  		}
>  
> @@ -391,7 +394,8 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  			   "%u clusters.  It can't have this many clusters "
>  			   "as this volume only has %u clusters. Remove this "
>  			   "record from the log?",
> -			   i, di->i_blkno, tr->t_start, tr->t_clusters,
> +			   i, (uint64_t)di->i_blkno,
> +			   tr->t_start, tr->t_clusters,
>  			   ost->ost_fs->fs_clusters)) {
>  				zero = 1;
>  		}
> @@ -407,7 +411,7 @@ static errcode_t verify_truncate_log(o2fsck_state *ost,
>  		ret = ocfs2_write_inode(ost->ost_fs, di->i_blkno, (char *)di);
>  		if (ret) {
>  			com_err(whoami, ret, "while writing truncate log inode "
> -				    "%"PRIu64, di->i_blkno);
> +				    "%"PRIu64, (uint64_t)di->i_blkno);
>  			ost->ost_write_error = 1;
>  			ret = 0;
>  		}
> @@ -466,7 +470,7 @@ static void o2fsck_verify_inode_fields(ocfs2_filesys *fs,
>  	    prompt(ost, PY, PR_INODE_BLKNO,
>  		   "Inode read from block %"PRIu64" has i_blkno set "
>  		   "to %"PRIu64".  Set the inode's i_blkno value to reflect "
> -		   "its location on disk?", blkno, di->i_blkno)) {
> +		   "its location on disk?", blkno, (uint64_t)di->i_blkno)) {
>  
>  		di->i_blkno = blkno;
>  		o2fsck_write_inode(ost, blkno, di);
> @@ -487,7 +491,7 @@ static void o2fsck_verify_inode_fields(ocfs2_filesys *fs,
>  	if (di->i_dtime &&
>  	    prompt(ost, PY, PR_INODE_NZ_DTIME,
>  		   "Inode %"PRIu64" is in use but has a non-zero dtime. Reset "
> -		   "the dtime to 0?",  di->i_blkno)) {
> +		   "the dtime to 0?",  (uint64_t)di->i_blkno)) {
>  
>  		di->i_dtime = 0ULL;
>  		o2fsck_write_inode(ost, blkno, di);
> @@ -610,13 +614,15 @@ static void check_link_data(struct verifying_blocks *vb)
>  	char *null;
>  
>  	verbosef("found a link: num %"PRIu64" last %"PRIu64" len "
> -		"%"PRIu64" null %d\n", vb->vb_num_blocks, 
> -		vb->vb_last_block, vb->vb_link_len, vb->vb_saw_link_null);
> +		"%"PRIu64" null %d\n", (uint64_t)vb->vb_num_blocks,
> +		(uint64_t)vb->vb_last_block, (uint64_t)vb->vb_link_len,
> +		vb->vb_saw_link_null);
>  
>  	if (di->i_clusters == 0 && vb->vb_num_blocks > 0 &&
>  	    prompt(ost, PY, PR_LINK_FAST_DATA,
>  		   "Symlink inode %"PRIu64" claims to be a fast symlink "
> -		   "but has file data.  Clear the inode?", di->i_blkno)) {
> +		   "but has file data.  Clear the inode?",
> +		   (uint64_t)di->i_blkno)) {
>  		vb->vb_clear = 1;
>  		return;
>  	}
> @@ -646,7 +652,7 @@ static void check_link_data(struct verifying_blocks *vb)
>  		if (prompt(ost, PY, PR_LINK_NULLTERM,
>  			   "The target of symlink inode %"PRIu64" "
>  			   "isn't null terminated.  Clear the inode?",
> -			   di->i_blkno)) {
> +			   (uint64_t)di->i_blkno)) {
>  			vb->vb_clear = 1;
>  			return;
>  		}
> @@ -659,7 +665,8 @@ static void check_link_data(struct verifying_blocks *vb)
>  			   "is %"PRIu64" bytes long on disk, but i_size is "
>  			   "%"PRIu64" bytes long.  Update i_size to reflect "
>  			   "the length on disk?",
> -			   di->i_blkno, vb->vb_link_len, di->i_size)) {
> +			   (uint64_t)di->i_blkno, vb->vb_link_len,
> +			   (uint64_t)di->i_size)) {
>  			di->i_size = vb->vb_link_len;
>  			o2fsck_write_inode(ost, di->i_blkno, di);
>  			return;
> @@ -673,7 +680,8 @@ static void check_link_data(struct verifying_blocks *vb)
>  			   "The target of symlink inode %"PRIu64" "
>  			   "fits in %"PRIu64" blocks but the inode has "
>  			   "%"PRIu64" allocated.  Clear the inode?", 
> -			   di->i_blkno, expected, vb->vb_num_blocks)) {
> +			   (uint64_t)di->i_blkno, expected,
> +			   vb->vb_num_blocks)) {
>  			vb->vb_clear = 1;
>  			return;
>  		}
> @@ -695,11 +703,13 @@ static int verify_block(ocfs2_filesys *fs,
>  
>  	if (S_ISDIR(di->i_mode)) {
>  		verbosef("adding dir block %"PRIu64"\n", blkno);
> -		ret = o2fsck_add_dir_block(&ost->ost_dirblocks, di->i_blkno,
> +		ret = o2fsck_add_dir_block(&ost->ost_dirblocks,
> +					   (uint64_t)di->i_blkno,
>  					   blkno, bcount);
>  		if (ret) {
>  			com_err(whoami, ret, "while trying to track block in "
> -				"directory inode %"PRIu64, di->i_blkno);
> +				"directory inode %"PRIu64,
> +				(uint64_t)di->i_blkno);
>  		}
>  	} else if (S_ISLNK(di->i_mode))
>  		ret = process_link_block(vb, blkno);
> @@ -767,7 +777,7 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  
>  	if (ret) {
>  		com_err(whoami, ret, "while iterating over the blocks for "
> -			"inode %"PRIu64, di->i_blkno);	
> +			"inode %"PRIu64, (uint64_t)di->i_blkno);
>  		goto out;
>  	}
>  
> @@ -777,7 +787,7 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  	if (S_ISDIR(di->i_mode) && vb.vb_num_blocks == 0 &&
>  	    prompt(ost, PY, PR_DIR_ZERO,
>  		   "Inode %"PRIu64" is a zero length directory, clear it?",
> -		   di->i_blkno)) {
> +		   (uint64_t)di->i_blkno)) {
>  
>  		vb.vb_clear = 1;
>  	}
> @@ -836,7 +846,7 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  				   " has a size of %"PRIu64" but has %"PRIu64
>  				   " blocks of actual data. "
>  				   "Correct the file size?",
> -				    di->i_blkno, di->i_size,
> +				    (uint64_t)di->i_blkno, (uint64_t)di->i_size,
>  				    vb.vb_last_block + 1)) {
>  				di->i_size = expected;
>  				o2fsck_write_inode(ost, blkno, di);
> @@ -851,7 +861,7 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  			   "Inode %"PRIu64" has %"PRIu32" clusters but its "
>  			   "blocks fit in %"PRIu64" clusters. "
>  			   "Correct the number of clusters?",
> -			   di->i_blkno, di->i_clusters, expected)) {
> +			   (uint64_t)di->i_blkno, di->i_clusters, expected)) {
>  			di->i_clusters = expected;
>  			o2fsck_write_inode(ost, blkno, di);
>  		}
> @@ -864,7 +874,8 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  		    prompt(ost, PY, PR_INODE_SIZE, "Inode %"PRIu64" has a size of "
>  			   "%"PRIu64" but has %"PRIu64" bytes of actual data. "
>  			   "Correct the file size?",
> -			    di->i_blkno, di->i_size, expected)) {
> +			   (uint64_t)di->i_blkno,
> +			   (uint64_t)di->i_size, expected)) {
>  			di->i_size = expected;
>  			o2fsck_write_inode(ost, blkno, di);
>  		}
> @@ -878,7 +889,7 @@ static errcode_t o2fsck_check_blocks(ocfs2_filesys *fs, o2fsck_state *ost,
>  			   "Inode %"PRIu64" has %"PRIu32" clusters but its "
>  			   "blocks fit in %"PRIu64" clusters.  Correct the "
>  			   "number of clusters?",
> -			   di->i_blkno, di->i_clusters, expected)) {
> +			   (uint64_t)di->i_blkno, di->i_clusters, expected)) {
>  			di->i_clusters = expected;
>  			o2fsck_write_inode(ost, blkno, di);
>  		}
> diff --git a/fsck.ocfs2/pass2.c b/fsck.ocfs2/pass2.c
> index ba357b4..5f1696d 100644
> --- a/fsck.ocfs2/pass2.c
> +++ b/fsck.ocfs2/pass2.c
> @@ -155,7 +155,7 @@ static errcode_t fix_dirent_dots(o2fsck_state *ost, o2fsck_dirblock_entry *dbe,
>              prompt(ost, PY, PR_DIRENT_DOT_INODE,
>  		   "The '.' entry in directory inode %"PRIu64" "
>  		   "points to inode %"PRIu64" instead of itself.  Fix "
> -		   "the '.' entry?", dbe->e_ino, dirent->inode)) {
> +		   "the '.' entry?", dbe->e_ino, (uint64_t)dirent->inode)) {
>  		dirent->inode = dbe->e_ino;
>  		*flags |= OCFS2_DIRENT_CHANGED;
>  	}
> @@ -324,7 +324,7 @@ static void fix_dirent_inode(o2fsck_state *ost, o2fsck_dirblock_entry *dbe,
>  	    prompt(ost, PY, PR_DIRENT_INODE_RANGE,
>  		   "Directory entry '%.*s' refers to inode "
>  		   "number %"PRIu64" which is out of range, clear the entry?",
> -		   dirent->name_len, dirent->name, dirent->inode)) {
> +		   dirent->name_len, dirent->name, (uint64_t)dirent->inode)) {
>  
>  		dirent->inode = 0;
>  		*flags |= OCFS2_DIRENT_CHANGED;
> @@ -335,7 +335,7 @@ static void fix_dirent_inode(o2fsck_state *ost, o2fsck_dirblock_entry *dbe,
>  	    prompt(ost, PY, PR_DIRENT_INODE_FREE,
>  		   "Directory entry '%.*s' refers to inode number "
>  		   "%"PRIu64" which isn't allocated, clear the entry?", 
> -		   dirent->name_len, dirent->name, dirent->inode)) {
> +		   dirent->name_len, dirent->name, (uint64_t)dirent->inode)) {
>  		dirent->inode = 0;
>  		*flags |= OCFS2_DIRENT_CHANGED;
>  	}
> @@ -410,7 +410,7 @@ check:
>  		"entry's type to match the inode's?",
>  		dirent->name_len, dirent->name, 
>  		file_type_string(dirent->file_type), dirent->file_type,
> -		dirent->inode,
> +		(uint64_t)dirent->inode,
>  		file_type_string(expected_type), expected_type)) {
>  
>  		dirent->file_type = expected_type;
> @@ -446,7 +446,7 @@ static errcode_t fix_dirent_linkage(o2fsck_state *ost,
>  	ret = ocfs2_bitmap_test(ost->ost_dir_inodes, dirent->inode, &is_dir);
>  	if (ret)
>  		com_err(whoami, ret, "while checking for inode %"PRIu64" in "
> -			"the dir bitmap", dirent->inode);
> +			"the dir bitmap", (uint64_t)dirent->inode);
>  	if (!is_dir)
>  		goto out;
>  
> @@ -454,7 +454,7 @@ static errcode_t fix_dirent_linkage(o2fsck_state *ost,
>  	if (dp == NULL) {
>  		ret = OCFS2_ET_INTERNAL_FAILURE;
>  		com_err(whoami, ret, "no dir parents recorded for inode "
> -			"%"PRIu64, dirent->inode);
> +			"%"PRIu64, (uint64_t)dirent->inode);
>  		goto out;
>  	}
>  
> @@ -470,7 +470,7 @@ static errcode_t fix_dirent_linkage(o2fsck_state *ost,
>  		"claim to be the parent of subdir '%.*s' (inode %"PRIu64"). "
>  		"Clear this directory entry and leave the previous parent of "
>  		"the subdir's inode intact?", dbe->e_ino, 
> -		dirent->name_len, dirent->name, dirent->inode)) {
> +		dirent->name_len, dirent->name, (uint64_t)dirent->inode)) {
>  
>  		dirent->inode = 0;
>  		*flags |= OCFS2_DIRENT_CHANGED;
> @@ -594,7 +594,7 @@ static int corrupt_dirent_lengths(struct ocfs2_dir_entry *dirent, int left)
>  		return 0;
>  
>  	verbosef("corrupt dirent: %"PRIu64" rec_len %u name_len %u\n",
> -		dirent->inode, dirent->rec_len, dirent->name_len);
> +		 (uint64_t)dirent->inode, dirent->rec_len, dirent->name_len);
>  
>  	return 1;
>  }
> @@ -630,7 +630,7 @@ static unsigned pass2_dir_block_iterate(o2fsck_dirblock_entry *dbe,
>  		}
>  
>  		verbosef("dir inode %"PRIu64" i_size %"PRIu64"\n",
> -			 dbe->e_ino, di->i_size);
> +			 dbe->e_ino, (uint64_t)di->i_size);
>  
>  	}
>  
> @@ -727,7 +727,7 @@ static unsigned pass2_dir_block_iterate(o2fsck_dirblock_entry *dbe,
>  			goto next;
>  
>  		verbosef("dirent %.*s refs ino %"PRIu64"\n", dirent->name_len,
> -				dirent->name, dirent->inode);
> +				dirent->name, (uint64_t)dirent->inode);
>  		o2fsck_icount_delta(dd->ost->ost_icount_refs, dirent->inode, 1);
>  next:
>  		offset += dirent->rec_len;
> diff --git a/fsck.ocfs2/pass4.c b/fsck.ocfs2/pass4.c
> index 505ff70..501f9f0 100644
> --- a/fsck.ocfs2/pass4.c
> +++ b/fsck.ocfs2/pass4.c
> @@ -57,7 +57,7 @@ static void check_link_counts(o2fsck_state *ost,
>  	    prompt(ost, PY, PR_INODE_NOT_CONNECTED,
>  		   "Inode %"PRIu64" isn't referenced by any "
>  		   "directory entries.  Move it to lost+found?", 
> -		   di->i_blkno)) {
> +		   (uint64_t)di->i_blkno)) {
>  		o2fsck_reconnect_file(ost, blkno);
>  		refs = o2fsck_icount_get(ost->ost_icount_refs, blkno);
>  	}
> @@ -77,13 +77,14 @@ static void check_link_counts(o2fsck_state *ost,
>  	if (in_inode != di->i_links_count)
>  		com_err(whoami, OCFS2_ET_INTERNAL_FAILURE, "fsck's thinks "
>  			"inode %"PRIu64" has a link count of %"PRIu16" but on "
> -			"disk it is %"PRIu16, di->i_blkno, in_inode, 
> +			"disk it is %"PRIu16, (uint64_t)di->i_blkno, in_inode,
>  			di->i_links_count);
>  
>  	if (prompt(ost, PY, PR_INODE_COUNT,
>  		   "Inode %"PRIu64" has a link count of %"PRIu16" on "
>  		   "disk but directory entry references come to %"PRIu16". "
> -		   "Update the count on disk to match?", di->i_blkno, in_inode, 
> +		   "Update the count on disk to match?",
> +		   (uint64_t)di->i_blkno, in_inode,
>  		   refs)) {
>  		di->i_links_count = refs;
>  		o2fsck_icount_set(ost->ost_icount_in_inodes, di->i_blkno,
> @@ -114,14 +115,15 @@ static int replay_orphan_iterate(struct ocfs2_dir_entry *dirent,
>  
>  	if (!prompt(ost, PY, PR_INODE_ORPHANED,
>  		   "Inode %"PRIu64" was found in the orphan directory. "
> -		   "Delete its contents and unlink it?", dirent->inode)) {
> +		   "Delete its contents and unlink it?",
> +		   (uint64_t)dirent->inode)) {
>  		goto out;
>  	}
>  
>  	ret = ocfs2_truncate(ost->ost_fs, dirent->inode, 0);
>  	if (ret) {
>  		com_err(whoami, ret, "while truncating orphan inode %"PRIu64,
> -			dirent->inode);
> +			(uint64_t)dirent->inode);
>  		ret_flags |= OCFS2_DIRENT_ABORT;
>  		goto out;
>  	}
> @@ -129,7 +131,7 @@ static int replay_orphan_iterate(struct ocfs2_dir_entry *dirent,
>  	ret = ocfs2_delete_inode(ost->ost_fs, dirent->inode);
>  	if (ret) {
>  		com_err(whoami, ret, "while deleting orphan inode %"PRIu64
> -			"after truncating it", dirent->inode);
> +			"after truncating it", (uint64_t)dirent->inode);
>  		ret_flags |= OCFS2_DIRENT_ABORT;
>  		goto out;
>  	}
> diff --git a/fsck.ocfs2/util.c b/fsck.ocfs2/util.c
> index ca22a85..1f916c3 100644
> --- a/fsck.ocfs2/util.c
> +++ b/fsck.ocfs2/util.c
> @@ -40,14 +40,14 @@ void o2fsck_write_inode(o2fsck_state *ost, uint64_t blkno,
>  	if (blkno != di->i_blkno) {
>  		com_err(whoami, OCFS2_ET_INTERNAL_FAILURE, "when asked to "
>  			"write an inode with an i_blkno of %"PRIu64" to block "
> -			"%"PRIu64, di->i_blkno, blkno);
> +			"%"PRIu64, (uint64_t)di->i_blkno, blkno);
>  		return;
>  	}
>  
>  	ret = ocfs2_write_inode(ost->ost_fs, blkno, (char *)di);
>  	if (ret) {
>  		com_err(whoami, ret, "while writing inode %"PRIu64, 
> -		        di->i_blkno);
> +		        (uint64_t)di->i_blkno);
>  		ost->ost_saw_error = 1;
>  	}
>  }
> diff --git a/ocfs2console/ocfs2interface/ocfs2module.c b/ocfs2console/ocfs2interface/ocfs2module.c
> index 9a4815c..bd3139d 100644
> --- a/ocfs2console/ocfs2interface/ocfs2module.c
> +++ b/ocfs2console/ocfs2interface/ocfs2module.c
> @@ -176,7 +176,7 @@ dinode_repr (DInode *self)
>  {
>    char blkno[32];
>  
> -  snprintf (blkno, sizeof (blkno), "%"PRIu64, self->dinode.i_blkno);
> +  snprintf (blkno, sizeof (blkno), "%"PRIu64, (uint64_t)self->dinode.i_blkno);
>    return PyString_FromFormat ("<ocfs2.DInode %s on %s>", blkno,
>  			      PyString_AS_STRING (self->fs_obj->device));
>  }
> diff --git a/tunefs.ocfs2/resize.c b/tunefs.ocfs2/resize.c
> index 03925c9..5f07dda 100644
> --- a/tunefs.ocfs2/resize.c
> +++ b/tunefs.ocfs2/resize.c
> @@ -396,7 +396,7 @@ static errcode_t update_global_bitmap(ocfs2_filesys *fs,
>  		if (ret) {
>  			com_err(opts.progname, ret, "while flushing group "
>  				"descriptor at block %"PRIu64" during "
> -				"volume resize", lgd->bg_blkno);
> +				"volume resize", (uint64_t)lgd->bg_blkno);
>  			goto bail;
>  		}
>  	}
> @@ -406,7 +406,7 @@ static errcode_t update_global_bitmap(ocfs2_filesys *fs,
>  	if (ret) {
>  		com_err(opts.progname, ret, "while writing global bitmap "
>  			"inode at block %"PRIu64" during volume resize",
> -			di->i_blkno);
> +			(uint64_t)di->i_blkno);
>  	}
>  
>  bail:
> diff --git a/tunefs.ocfs2/sparse_file.c b/tunefs.ocfs2/sparse_file.c
> index f0eedb3..e068524 100644
> --- a/tunefs.ocfs2/sparse_file.c
> +++ b/tunefs.ocfs2/sparse_file.c
> @@ -329,7 +329,7 @@ static errcode_t list_sparse_file(ocfs2_filesys *fs,
>  
>  print:
>  	if (ctxt->file_hole_len > 0)
> -		printf("%"PRIu64"\t%u\t\t%s\n", di->i_blkno,
> +		printf("%"PRIu64"\t%u\t\t%s\n", (uint64_t)di->i_blkno,
>  			ctxt->file_hole_len, ctxt->file_name);
>  
>  bail:
> diff --git a/tunefs.ocfs2/tunefs.c b/tunefs.ocfs2/tunefs.c
> index 2a51343..90e2c5a 100644
> --- a/tunefs.ocfs2/tunefs.c
> +++ b/tunefs.ocfs2/tunefs.c
> @@ -624,7 +624,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  			ret = OCFS2_ET_CORRUPT_CHAIN;
>  			com_err(opts.progname, ret, " - group descriptor at "
>  				"%"PRIu64" does not belong to allocator %"PRIu64"",
> -				blkno, di->i_blkno);
> +				blkno, (uint64_t)di->i_blkno);
>  			goto bail;
>  		}
>  
> @@ -633,7 +633,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  			com_err(opts.progname, ret, " - group descriptor at "
>  				"%"PRIu64" does not agree to the chain it "
>  				"belongs to in allocator %"PRIu64"",
> -				blkno, di->i_blkno);
> +				blkno, (uint64_t)di->i_blkno);
>  			goto bail;
>  		}
>  
> @@ -642,7 +642,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  			ret = OCFS2_ET_CORRUPT_CHAIN;
>  			com_err(opts.progname, ret, " - group descriptor at "
>  				"%"PRIu64" does not have a consistent free "
> -				"bit count", blkno);
> +				"bit count", (uint64_t)blkno);
>  			goto bail;
>  		}
>  
> @@ -650,7 +650,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  			ret = OCFS2_ET_CORRUPT_CHAIN;
>  			com_err(opts.progname, ret, " - group descriptor at "
>  				"%"PRIu64" does not have a valid total bit "
> -				"count", blkno);
> +				"count", (uint64_t)blkno);
>  			goto bail;
>  		}
>  
> @@ -671,7 +671,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  		ret = OCFS2_ET_CORRUPT_CHAIN;
>  		com_err(opts.progname, ret, " - total bits for chain %u in "
>  			"allocator %"PRIu64" does not match its chained group "
> -			"descriptors", chain, di->i_blkno);
> +			"descriptors", chain, (uint64_t)di->i_blkno);
>  		goto bail;
>  
>  	}
> @@ -680,7 +680,7 @@ static errcode_t validate_chain_group(ocfs2_filesys *fs, struct ocfs2_dinode *di
>  		ret = OCFS2_ET_CORRUPT_CHAIN;
>  		com_err(opts.progname, ret, " - free bits for chain %u in "
>  			"allocator %"PRIu64" does not match its chained group "
> -			"descriptors", chain, di->i_blkno);
> +			"descriptors", chain, (uint64_t)di->i_blkno);
>  		goto bail;
>  	}
>  
>   




More information about the Ocfs2-tools-devel mailing list