On Thu, Sep 23, 2010 at 6:37 PM, Stefan Weil <w...@mail.berlios.de> wrote: > Adding the gcc format attribute detects a format bug > which is fixed here. > > Cc: Blue Swirl <blauwir...@gmail.com> > Cc: Kevin Wolf <kw...@redhat.com> > Signed-off-by: Stefan Weil <w...@mail.berlios.de> > --- > block/blkverify.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/block/blkverify.c b/block/blkverify.c > index 8083464..b39fb67 100644 > --- a/block/blkverify.c > +++ b/block/blkverify.c > @@ -53,7 +53,8 @@ static AIOPool blkverify_aio_pool = { > .cancel = blkverify_aio_cancel, > }; > > -static void blkverify_err(BlkverifyAIOCB *acb, const char *fmt, ...) > +static void GCC_FMT_ATTR(2, 3) blkverify_err(BlkverifyAIOCB *acb, > + const char *fmt, ...) > { > va_list ap; > > @@ -300,7 +301,7 @@ static void blkverify_verify_readv(BlkverifyAIOCB *acb) > ssize_t offset = blkverify_iovec_compare(acb->qiov, &acb->raw_qiov); > if (offset != -1) { > blkverify_err(acb, "contents mismatch in sector %ld", > - acb->sector_num + (offset / BDRV_SECTOR_SIZE)); > + (long)(acb->sector_num + (offset / BDRV_SECTOR_SIZE)));
sector_num is int64_t, so the correct fix is to change '%ld' to '%" PRId64'.