On Thu, 10 Sep 2015 15:41:04 +0530 Sudip Mukherjee <sudipm.mukher...@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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/