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