svn commit: r254286 - head/sys/fs/ext2fs

Dimitry Andric dim at FreeBSD.org
Wed Aug 14 07:12:01 UTC 2013


On Aug 13, 2013, at 20:39, Pedro F. Giffuni <pfg at FreeBSD.org> wrote:
> Author: pfg
> Date: Tue Aug 13 18:39:36 2013
> New Revision: 254286
> URL: http://svnweb.freebsd.org/changeset/base/254286
> 
> Log:
>  ext2fs: update format specifiers for ext4 type.
> 
>  Reported by:	Sam Fourman Jr.
>  MFC after:	3 weeks
> 
> Modified:
>  head/sys/fs/ext2fs/ext2_subr.c
> 
> Modified: head/sys/fs/ext2fs/ext2_subr.c
> ==============================================================================
> --- head/sys/fs/ext2fs/ext2_subr.c	Tue Aug 13 18:14:53 2013	(r254285)
> +++ head/sys/fs/ext2fs/ext2_subr.c	Tue Aug 13 18:39:36 2013	(r254286)
> @@ -150,7 +150,7 @@ ext2_checkoverlap(struct buf *bp, struct
> 		    ep->b_blkno + btodb(ep->b_bcount) <= start)
> 			continue;
> 		vprint("Disk overlap", vp);
> -		(void)printf("\tstart %d, end %d overlap start %lld, end %ld\n",
> +		(void)printf("\tstart %ld, end %ld overlap start %lld, end %ld\n",
> 			start, last, (long long)ep->b_blkno,
> 			(long)(ep->b_blkno + btodb(ep->b_bcount) - 1));
> 		panic("Disk buffer overlap");


This still fails on arches where int64_t is aliased to long long
(basically, the 32-bit arches).  Since using PRId64 is apparently
frowned upon, the easiest solution is to cast the 'start' and 'last'
variables to long long, and print them using %lld.

-Dimitry



More information about the svn-src-head mailing list