Hi Josef, [auto build test WARNING on linus/master] [also build test WARNING on v4.8-rc1 next-20160809] [cannot apply to linux/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Josef-Bacik/Provide-accounting-for-dirty-metadata/20160810-031219 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) include/linux/compiler.h:230:8: sparse: attribute 'no_sanitize_address': unknown attribute >> drivers/mtd/devices/block2mtd.c:74:64: sparse: not enough arguments for function balance_dirty_pages_ratelimited drivers/mtd/devices/block2mtd.c:165:56: sparse: not enough arguments for function balance_dirty_pages_ratelimited drivers/mtd/devices/block2mtd.c: In function '_block2mtd_erase': drivers/mtd/devices/block2mtd.c:74:37: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/backing-dev.h:15:0, from drivers/mtd/devices/block2mtd.c:23: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/devices/block2mtd.c:74:5: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/backing-dev.h:15:0, from drivers/mtd/devices/block2mtd.c:23: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/devices/block2mtd.c: In function '_block2mtd_write': drivers/mtd/devices/block2mtd.c:165:36: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/backing-dev.h:15:0, from drivers/mtd/devices/block2mtd.c:23: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/mtd/devices/block2mtd.c:165:4: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/backing-dev.h:15:0, from drivers/mtd/devices/block2mtd.c:23: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- include/linux/compiler.h:230:8: sparse: attribute 'no_sanitize_address': unknown attribute >> fs/ntfs/attrib.c:2548:48: sparse: not enough arguments for function balance_dirty_pages_ratelimited fs/ntfs/attrib.c:2589:48: sparse: not enough arguments for function balance_dirty_pages_ratelimited fs/ntfs/attrib.c:2606:48: sparse: not enough arguments for function balance_dirty_pages_ratelimited fs/ntfs/attrib.c: In function 'ntfs_attr_set': fs/ntfs/attrib.c:2548:35: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/attrib.c:2548:3: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/attrib.c:2589:35: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/attrib.c:2589:3: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/attrib.c:2606:35: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/attrib.c:2606:3: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/memcontrol.h:30:0, from include/linux/swap.h:8, from fs/ntfs/attrib.c:26: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- include/linux/compiler.h:230:8: sparse: attribute 'no_sanitize_address': unknown attribute >> fs/ntfs/file.c:279:48: sparse: not enough arguments for function balance_dirty_pages_ratelimited fs/ntfs/file.c:1917:48: sparse: not enough arguments for function balance_dirty_pages_ratelimited fs/ntfs/file.c: In function 'ntfs_attr_extend_initialized': fs/ntfs/file.c:279:35: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/backing-dev.h:15:0, from fs/ntfs/file.c:22: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/file.c:279:3: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/backing-dev.h:15:0, from fs/ntfs/file.c:22: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/file.c: In function 'ntfs_perform_write': fs/ntfs/file.c:1917:35: error: passing argument 1 of 'balance_dirty_pages_ratelimited' from incompatible pointer type [-Werror=incompatible-pointer-types] balance_dirty_pages_ratelimited(mapping); ^~~~~~~ In file included from include/linux/backing-dev.h:15:0, from fs/ntfs/file.c:22: include/linux/writeback.h:367:6: note: expected 'struct backing_dev_info *' but argument is of type 'struct address_space *' void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/ntfs/file.c:1917:3: error: too few arguments to function 'balance_dirty_pages_ratelimited' balance_dirty_pages_ratelimited(mapping); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/backing-dev.h:15:0, from fs/ntfs/file.c:22: include/linux/writeback.h:367:6: note: declared here void balance_dirty_pages_ratelimited(struct backing_dev_info *bdi, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +74 drivers/mtd/devices/block2mtd.c ^1da177e Linus Torvalds 2005-04-16 58 int pages = len >> PAGE_SHIFT; ^1da177e Linus Torvalds 2005-04-16 59 u_long *p; ^1da177e Linus Torvalds 2005-04-16 60 u_long *max; ^1da177e Linus Torvalds 2005-04-16 61 ^1da177e Linus Torvalds 2005-04-16 62 while (pages) { 21d31f1f Joern Engel 2007-02-20 63 page = page_read(mapping, index); ^1da177e Linus Torvalds 2005-04-16 64 if (IS_ERR(page)) ^1da177e Linus Torvalds 2005-04-16 65 return PTR_ERR(page); ^1da177e Linus Torvalds 2005-04-16 66 0ffb74cc Joern Engel 2007-02-20 67 max = page_address(page) + PAGE_SIZE; 0ffb74cc Joern Engel 2007-02-20 68 for (p=page_address(page); p<max; p++) ^1da177e Linus Torvalds 2005-04-16 69 if (*p != -1UL) { ^1da177e Linus Torvalds 2005-04-16 70 lock_page(page); ^1da177e Linus Torvalds 2005-04-16 71 memset(page_address(page), 0xff, PAGE_SIZE); ^1da177e Linus Torvalds 2005-04-16 72 set_page_dirty(page); ^1da177e Linus Torvalds 2005-04-16 73 unlock_page(page); 031da73f NeilBrown 2012-12-12 @74 balance_dirty_pages_ratelimited(mapping); ^1da177e Linus Torvalds 2005-04-16 75 break; ^1da177e Linus Torvalds 2005-04-16 76 } ^1da177e Linus Torvalds 2005-04-16 77 09cbfeaf Kirill A. Shutemov 2016-04-01 78 put_page(page); ^1da177e Linus Torvalds 2005-04-16 79 pages--; ^1da177e Linus Torvalds 2005-04-16 80 index++; ^1da177e Linus Torvalds 2005-04-16 81 } ^1da177e Linus Torvalds 2005-04-16 82 return 0; :::::: The code at line 74 was first introduced by commit :::::: 031da73fca29ebba3eea5a512746e01d52e542cd mtd: block2mtd: throttle writes by calling balance_dirty_pages_ratelimited. :::::: TO: NeilBrown <neilb@xxxxxxx> :::::: CC: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html