While compiling btrfs, I got belows: CC [M] fs/btrfs/inode.o fs/btrfs/inode.c: In function ‘btrfs_end_dio_bio’: fs/btrfs/inode.c:5720: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘sector_t’ LD [M] fs/btrfs/btrfs.o Building modules, stage 2. MODPOST 1 modules LD [M] fs/btrfs/btrfs.ko This fixes the compile warning. Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com> --- fs/btrfs/inode.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 0f34cae..eff5aef 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -5713,8 +5713,8 @@ static void btrfs_end_dio_bio(struct bio *bio, int err) if (err) { printk(KERN_ERR "btrfs direct IO failed ino %lu rw %lu " "disk_bytenr %lu len %u err no %d\n", - dip->inode->i_ino, bio->bi_rw, bio->bi_sector, - bio->bi_size, err); + dip->inode->i_ino, bio->bi_rw, + (unsigned long)bio->bi_sector, bio->bi_size, err); dip->errors = 1; /* -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Tsutomu Itoh
2010-Dec-08 23:59 UTC
Re: [PATCH] Btrfs: fix compile warning in fs/btrfs/inode.c
(2010/12/08 19:01), liubo wrote:> While compiling btrfs, I got belows: > > CC [M] fs/btrfs/inode.o > fs/btrfs/inode.c: In function ‘btrfs_end_dio_bio’: > fs/btrfs/inode.c:5720: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘sector_t’ > LD [M] fs/btrfs/btrfs.o > Building modules, stage 2. > MODPOST 1 modules > LD [M] fs/btrfs/btrfs.ko > > This fixes the compile warning. > > Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com> > --- > fs/btrfs/inode.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 0f34cae..eff5aef 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -5713,8 +5713,8 @@ static void btrfs_end_dio_bio(struct bio *bio, int err) > if (err) { > printk(KERN_ERR "btrfs direct IO failed ino %lu rw %lu " > "disk_bytenr %lu len %u err no %d\n", > - dip->inode->i_ino, bio->bi_rw, bio->bi_sector, > - bio->bi_size, err); > + dip->inode->i_ino, bio->bi_rw, > + (unsigned long)bio->bi_sector, bio->bi_size, err);sector_t is defined by include/linux/types.h as follows. #ifdef CONFIG_LBDAF typedef u64 sector_t; typedef u64 blkcnt_t; #else typedef unsigned long sector_t; typedef unsigned long blkcnt_t; #endif Therefore, I think that you should change the code as follows. printk(KERN_ERR "btrfs direct IO failed ino %lu rw %lu " "disk_bytenr %llu len %u err no %d\n", dip->inode->i_ino, bio->bi_rw, (u64)bio->bi_sector, bio->bi_size, err);> dip->errors = 1; > > /*Regards, Itoh -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/08/2010 06:01 PM, liubo wrote:> While compiling btrfs, I got belows: > > CC [M] fs/btrfs/inode.o > fs/btrfs/inode.c: In function ‘btrfs_end_dio_bio’: > fs/btrfs/inode.c:5720: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘sector_t’ > LD [M] fs/btrfs/btrfs.o > Building modules, stage 2. > MODPOST 1 modules > LD [M] fs/btrfs/btrfs.ko > > This fixes the compile warning. >Sorry, plz ignore this. Have seen someone post patch to fix this. thanks, Liu Bo> Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com> > --- > fs/btrfs/inode.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 0f34cae..eff5aef 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -5713,8 +5713,8 @@ static void btrfs_end_dio_bio(struct bio *bio, int err) > if (err) { > printk(KERN_ERR "btrfs direct IO failed ino %lu rw %lu " > "disk_bytenr %lu len %u err no %d\n", > - dip->inode->i_ino, bio->bi_rw, bio->bi_sector, > - bio->bi_size, err); > + dip->inode->i_ino, bio->bi_rw, > + (unsigned long)bio->bi_sector, bio->bi_size, err); > dip->errors = 1; > > /*-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html