lkml.org 
[lkml]   [2015]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] logfs: fix build warning
On Thu, 10 Sep 2015 15:41:04 +0530 Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:

> While building we were getting build warning of:
>
> fs/logfs/dev_bdev.c: In function '__bdev_writeseg':
> include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
> (void) (&_min1 == &_min2); \
> fs/logfs/dev_bdev.c:84:14: note: in expansion of macro 'min'
> max_pages = min(nr_pages, BIO_MAX_PAGES);
>
> fs/logfs/dev_bdev.c: In function 'do_erase':
> include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default]
> (void) (&_min1 == &_min2); \
> fs/logfs/dev_bdev.c:174:14: note: in expansion of macro 'min'
> max_pages = min(nr_pages, BIO_MAX_PAGES);
>
> Lets use min_t and mention the type.
>
> ...
>
> --- a/fs/logfs/dev_bdev.c
> +++ b/fs/logfs/dev_bdev.c
> @@ -81,7 +81,7 @@ static int __bdev_writeseg(struct super_block *sb, u64 ofs, pgoff_t index,
> unsigned int max_pages;
> int i;
>
> - max_pages = min(nr_pages, BIO_MAX_PAGES);
> + max_pages = min_t(size_t, nr_pages, BIO_MAX_PAGES);
>
> bio = bio_alloc(GFP_NOFS, max_pages);
> BUG_ON(!bio);
> @@ -171,7 +171,7 @@ static int do_erase(struct super_block *sb, u64 ofs, pgoff_t index,
> unsigned int max_pages;
> int i;
>
> - max_pages = min(nr_pages, BIO_MAX_PAGES);
> + max_pages = min_t(size_t, nr_pages, BIO_MAX_PAGES);
>
> bio = bio_alloc(GFP_NOFS, max_pages);
> BUG_ON(!bio);

I don't think it's logical for either __bdev_writeseg() or do_erase()
to use size_t for `nr_pages'. For "number of pagecache pages" we'd
normally use pgoff_t or unsigned long.

But they'd generate warnings as well, because BIO_MAX_PAGES is plain
old `int'. Ho hum.



\
 
 \ /
  Last update: 2015-10-02 01:21    [W:0.043 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site