[Cluster-devel] [PATCH 2/2] gfs2_edit: Add attribute printf for print_gfs2

Andrew Price anprice at redhat.com
Fri Sep 11 10:45:05 UTC 2015


On 10/09/15 23:05, Andreas Gruenbacher wrote:
> Add the appropriate function attribute for the printf-style function print_gfs2
> and clean up the resulting fallout.

Both patches look good to me, thanks. I've pushed them both along with 
the savemeta speedup patch I posted last week.

Andy

> Signed-off-by: Andreas Gruenbacher <agruenba at redhat.com>
> ---
>   gfs2/edit/extended.c | 22 +++++++++++-----------
>   gfs2/edit/gfs2hex.c  |  2 +-
>   gfs2/edit/gfs2hex.h  |  2 +-
>   gfs2/edit/hexedit.c  | 20 ++++++++++----------
>   gfs2/edit/journal.c  | 14 +++++++-------
>   gfs2/edit/savemeta.c |  2 +-
>   6 files changed, 31 insertions(+), 31 deletions(-)
>
> diff --git a/gfs2/edit/extended.c b/gfs2/edit/extended.c
> index a13827e..c01427f 100644
> --- a/gfs2/edit/extended.c
> +++ b/gfs2/edit/extended.c
> @@ -178,7 +178,7 @@ static int display_indirect(struct iinfo *ind, int indblocks, int level,
>   		print_gfs2("%d => ", pndx);
>   		if (termlines)
>   			move(line,9);
> -		print_gfs2("0x%llx / %lld", ind->ii[pndx].block,
> +		print_gfs2("0x%"PRIx64" / %"PRId64, ind->ii[pndx].block,
>   			   ind->ii[pndx].block);
>   		if (termlines) {
>   			if (edit_row[dmode] >= 0 &&
> @@ -206,7 +206,7 @@ static int display_indirect(struct iinfo *ind, int indblocks, int level,
>   			if (human_off > 1024.0) { h = 'T'; human_off /= 1024.0; }
>   			if (human_off > 1024.0) { h = 'P'; human_off /= 1024.0; }
>   			if (human_off > 1024.0) { h = 'E'; human_off /= 1024.0; }
> -			print_gfs2("(data offset 0x%llx / %lld / %6.2f%c)",
> +			print_gfs2("(data offset 0x%"PRIx64" / %"PRId64" / %6.2f%c)",
>   				   file_offset, file_offset, human_off, h);
>   			print_gfs2("   ");
>   		}
> @@ -297,8 +297,8 @@ static void print_inode_type(__be16 de_type)
>   }
>
>   #ifdef GFS2_HAS_LEAF_HINTS
> -#define LEAF_HINT_FMTS "lf_inode: 0x%"PRIx64", lf_dist: %"PRIu32", " \
> -                       "lf_nsec: %"PRIu32", lf_sec: %"PRIu64", "
> +#define LEAF_HINT_FMTS "lf_inode: 0x%llx, lf_dist: %u, " \
> +                       "lf_nsec: %u, lf_sec: %llu, "
>   #define LEAF_HINT_FIELDS(lp) lp->lf_inode, lp->lf_dist, lp->lf_nsec, lp->lf_sec,
>   #else
>   #define LEAF_HINT_FMTS
> @@ -342,7 +342,7 @@ static int display_leaf(struct iinfo *ind)
>   					strcpy(edit_fmt, "%llx");
>   				}
>   			}
> -			print_gfs2("%d/%d [%08x] %lld/%lld (0x%llx/0x%llx) +%u: ",
> +			print_gfs2("%d/%d [%08x] %lld/%"PRId64" (0x%llx/0x%"PRIx64") +%u: ",
>   				   total_dirents, d + 1,
>   				   ind->ii[0].dirent[d].dirent.de_hash,
>   				   ind->ii[0].dirent[d].dirent.de_inum.no_formal_ino,
> @@ -429,7 +429,7 @@ static void print_block_details(struct iinfo *ind, int level, int cur_height,
>   			eol(0);
>   			if (termlines)
>   				move(line,9);
> -			print_gfs2("Continuation block 0x%llx / %lld",
> +			print_gfs2("Continuation block 0x%"PRIx64" / %"PRId64,
>   				   thisblk, thisblk);
>   		}
>   	}
> @@ -451,7 +451,7 @@ static int print_gfs_jindex(struct gfs2_inode *dij)
>   	char jbuf[sizeof(struct gfs_jindex)];
>
>   	start_line = line;
> -	print_gfs2("Journal index entries found: %d.",
> +	print_gfs2("Journal index entries found: %lld.",
>   		   dij->i_di.di_size / sizeof(struct gfs_jindex));
>   	eol(0);
>   	lines_per_row[dmode] = 4;
> @@ -493,7 +493,7 @@ static int print_gfs2_jindex(void)
>   		if (strncmp(indirect->ii[0].dirent[d].filename, "journal", 7))
>   			continue;
>   		ip = lgfs2_inode_read(&sbd, indirect->ii[0].dirent[d].block);
> -		print_gfs2("%s: 0x%-5x %dMB ",
> +		print_gfs2("%s: 0x%-5"PRIx64" %lldMB ",
>   			   indirect->ii[0].dirent[d].filename,
>   			   indirect->ii[0].dirent[d].block,
>   			   ip->i_di.di_size / 1048576);
> @@ -520,7 +520,7 @@ static int parse_rindex(struct gfs2_inode *dip, int print_rindex)
>   	char highlighted_addr[32];
>
>   	start_line = line;
> -	print_gfs2("RG index entries found: %d.", dip->i_di.di_size /
> +	print_gfs2("RG index entries found: %lld.", dip->i_di.di_size /
>   		   sizeof(struct gfs2_rindex));
>   	eol(0);
>   	lines_per_row[dmode] = 6;
> @@ -593,7 +593,7 @@ static int print_inum(struct gfs2_inode *dii)
>   		return -1;
>   	}
>   	inodenum = be64_to_cpu(inum);
> -	print_gfs2("Next inode num = %lld (0x%llx)", inodenum, inodenum);
> +	print_gfs2("Next inode num = %"PRId64" (0x%"PRIx64")", inodenum, inodenum);
>   	eol(0);
>   	return 0;
>   }
> @@ -628,7 +628,7 @@ static int print_quota(struct gfs2_inode *diq)
>   	
>   	print_gfs2("quota file contents:");
>   	eol(0);
> -	print_gfs2("quota entries found: %d.", diq->i_di.di_size / sizeof(q));
> +	print_gfs2("quota entries found: %lld.", diq->i_di.di_size / sizeof(q));
>   	eol(0);
>   	for (i=0; ; i++) {
>   		error = gfs2_readi(diq, (void *)&qbuf, i * sizeof(q), sizeof(qbuf));
> diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c
> index dc6bb8f..101a063 100644
> --- a/gfs2/edit/gfs2hex.c
> +++ b/gfs2/edit/gfs2hex.c
> @@ -98,7 +98,7 @@ void eol(int col) /* end of line */
>   	}
>   }
>
> -void __attribute__((format (printf, 1, 2))) print_gfs2(const char *fmt, ...)
> +void print_gfs2(const char *fmt, ...)
>   {
>   	va_list args;
>   	char string[PATH_MAX];
> diff --git a/gfs2/edit/gfs2hex.h b/gfs2/edit/gfs2hex.h
> index 3c08a19..1bd83c3 100644
> --- a/gfs2/edit/gfs2hex.h
> +++ b/gfs2/edit/gfs2hex.h
> @@ -7,7 +7,7 @@ extern int display_gfs2(void);
>   extern int edit_gfs2(void);
>   extern void do_dinode_extended(struct gfs2_dinode *di,
>   			       struct gfs2_buffer_head *lbh);
> -extern void print_gfs2(const char *fmt, ...);
> +extern void print_gfs2(const char *fmt, ...) __attribute__((format (printf, 1, 2)));
>   extern uint64_t do_leaf_extended(char *dlebuf, struct iinfo *indir);
>   extern void eol(int col);
>
> diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
> index 4df1b9f..70406df 100644
> --- a/gfs2/edit/hexedit.c
> +++ b/gfs2/edit/hexedit.c
> @@ -332,14 +332,14 @@ int display_block_type(int from_restore)
>   	else if (block == JOURNALS_DUMMY_BLOCK)
>   		print_gfs2("Journal Status:      ");
>   	else
> -		print_gfs2("%lld    (0x%llx)", block, block);
> +		print_gfs2("%"PRId64"    (0x%"PRIx64")", block, block);
>   	if (termlines) {
>   		if (edit_row[dmode] == -1)
>   			COLORS_NORMAL;
>   	}
>   	print_gfs2(" ");
>   	if (!from_restore)
> -		print_gfs2("of %llu (0x%llx) ", max_block, max_block);
> +		print_gfs2("of %"PRIu64" (0x%"PRIx64") ", max_block, max_block);
>   	if (block == RGLIST_DUMMY_BLOCK) {
>   		ret_type = GFS2_METATYPE_RG;
>   		struct_len = sbd.gfs1 ? sizeof(struct gfs_rgrp) :
> @@ -580,9 +580,9 @@ static int hexdump(uint64_t startaddr, int len, int trunc_zeros,
>   			COLORS_OFFSETS; /* cyan for offsets */
>   		}
>   		if (startaddr < 0xffffffff)
> -			print_gfs2("%.8llx", startaddr + l);
> +			print_gfs2("%.8"PRIx64, startaddr + l);
>   		else
> -			print_gfs2("%.16llx", startaddr + l);
> +			print_gfs2("%.16"PRIx64, startaddr + l);
>   		if (termlines) {
>   			if (l < struct_len)
>   				COLORS_NORMAL; /* normal part of structure */
> @@ -670,7 +670,7 @@ static int hexdump(uint64_t startaddr, int len, int trunc_zeros,
>   					f = &m->fields[n];
>   					if (print_field >= f->offset &&
>   					    print_field < (f->offset + f->length)) {
> -						print_gfs2(m->fields[n].name);
> +						print_gfs2("%s", m->fields[n].name);
>   						break;
>   					}
>   				}
> @@ -699,12 +699,12 @@ static int hexdump(uint64_t startaddr, int len, int trunc_zeros,
>   		if (line - 3 > last_entry_onscreen[dmode])
>   			last_entry_onscreen[dmode] = line - 3;
>   		if (flagref && be64_to_cpu(*ref) == flagref)
> -			print_gfs2("<------------------------- ref in 0x%llx "
> -				   "to 0x%llx", ref_blk, flagref);
> +			print_gfs2("<------------------------- ref in 0x%"PRIx64" "
> +				   "to 0x%"PRIx64, ref_blk, flagref);
>   		ref++;
>   		if (flagref && be64_to_cpu(*ref) == flagref)
> -			print_gfs2("<------------------------- ref in 0x%llx "
> -				   "to 0x%llx", ref_blk, flagref);
> +			print_gfs2("<------------------------- ref in 0x%"PRIx64" "
> +				   "to 0x%"PRIx64, ref_blk, flagref);
>   		ref++;
>   		eol(0);
>   		l += 16;
> @@ -849,7 +849,7 @@ static void set_rgrp_flags(int rgnum, uint32_t new_flags, int modify, int full)
>   	} else {
>   		if (full) {
>   			print_gfs2("RG #%d", rgnum);
> -			print_gfs2(" located at: %llu (0x%llx)", rgblk, rgblk);
> +			print_gfs2(" located at: %"PRIu64" (0x%"PRIx64")", rgblk, rgblk);
>                           eol(0);
>   			if (sbd.gfs1)
>   				gfs_rgrp_print(&rg.rg1);
> diff --git a/gfs2/edit/journal.c b/gfs2/edit/journal.c
> index a2aeb2c..15e02de 100644
> --- a/gfs2/edit/journal.c
> +++ b/gfs2/edit/journal.c
> @@ -392,7 +392,7 @@ static int process_ld(uint64_t abs_block, uint64_t wrappt, uint64_t j_size,
>   			       bitblk);
>
>   	if (*prnt) {
> -		print_gfs2("0x%llx (j+%4llx): Log descriptor, ",
> +		print_gfs2("0x%"PRIx64" (j+%4"PRIx64"): Log descriptor, ",
>   			   abs_block, ((jb + wrappt) % j_size) / sbd.bsize);
>   		print_gfs2("type %d ", ld.ld_type);
>
> @@ -586,9 +586,9 @@ void dump_journal(const char *journal, int tblk)
>   				gfs_log_header_in(&lh1, &dummy_bh);
>   				check_journal_wrap(lh1.lh_sequence,
>   						   &highest_seq);
> -				print_gfs2("0x%llx (j+%4llx): Log header: "
> -					   "Flags:%x, Seq: 0x%x, 1st: 0x%x, "
> -					   "tail: 0x%x, last: 0x%x",
> +				print_gfs2("0x%"PRIx64" (j+%4"PRIx64"): Log header: "
> +					   "Flags:%x, Seq: 0x%llx, 1st: 0x%llx, "
> +					   "tail: 0x%llx, last: 0x%llx",
>   					   abs_block, jb + wrappt,
>   					   lh1.lh_flags, lh1.lh_sequence,
>   					   lh1.lh_first, lh1.lh_tail,
> @@ -597,8 +597,8 @@ void dump_journal(const char *journal, int tblk)
>   				gfs2_log_header_in(&lh, &dummy_bh);
>   				check_journal_wrap(lh.lh_sequence,
>   						   &highest_seq);
> -				print_gfs2("0x%llx (j+%4llx): Log header: Seq"
> -					   ": 0x%x, tail: 0x%x, blk: 0x%x%s",
> +				print_gfs2("0x%"PRIx64" (j+%4"PRIx64"): Log header: Seq"
> +					   ": 0x%llx, tail: 0x%x, blk: 0x%x%s",
>   					   abs_block, ((jb + wrappt) % j_size)
>   					   / sbd.bsize, lh.lh_sequence,
>   					   lh.lh_tail, lh.lh_blkno,
> @@ -609,7 +609,7 @@ void dump_journal(const char *journal, int tblk)
>   			eol(0);
>   		} else if ((ld_blocks > 0) &&
>   			   (sbd.gfs1 || block_type == GFS2_METATYPE_LB)) {
> -			print_gfs2("0x%llx (j+%4llx): Log descriptor"
> +			print_gfs2("0x%"PRIx64" (j+%4"PRIx64"): Log descriptor"
>   				   " continuation block", abs_block, jb);
>   			eol(0);
>   			print_gfs2("                    ");
> diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
> index b68b0ff..bd34fb1 100644
> --- a/gfs2/edit/savemeta.c
> +++ b/gfs2/edit/savemeta.c
> @@ -1012,7 +1012,7 @@ static int restore_data(int fd, gzFile gzin_fd, off_t pos, int printonly)
>   				bh = NULL;
>   				break;
>   			} else if (printonly == 1) {
> -				print_gfs2("%d (l=0x%x): ", blks_saved, savedata->siglen);
> +				print_gfs2("%"PRId64" (l=0x%x): ", blks_saved, savedata->siglen);
>   				display_block_type(TRUE);
>   			}
>   			bh = NULL;
>




More information about the Cluster-devel mailing list