Re: [PATCH v2 3/3] xfs: Let the max iomap length be consistent with the writeback code

From: kernel test robot
Date: Wed Oct 09 2024 - 03:25:57 EST


Hi Tang,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on brauner-vfs/vfs.all xfs-linux/for-next linus/master v6.12-rc2 next-20241008]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Tang-Yizhou/mm-page-writeback-c-Rename-BANDWIDTH_INTERVAL-to-BW_DIRTYLIMIT_INTERVAL/20241006-225445
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20241006152849.247152-4-yizhou.tang%40shopee.com
patch subject: [PATCH v2 3/3] xfs: Let the max iomap length be consistent with the writeback code
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20241009/202410091559.uWiy0Oj0-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241009/202410091559.uWiy0Oj0-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410091559.uWiy0Oj0-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> fs/xfs/xfs_iomap.c:768:7: error: call to undeclared function 'inode_to_wb'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
768 | wb = inode_to_wb(wb);
| ^
>> fs/xfs/xfs_iomap.c:768:5: error: incompatible integer to pointer conversion assigning to 'struct bdi_writeback *' from 'int' [-Wint-conversion]
768 | wb = inode_to_wb(wb);
| ^ ~~~~~~~~~~~~~~~
2 errors generated.


vim +/inode_to_wb +768 fs/xfs/xfs_iomap.c

748
749 /*
750 * We cap the maximum length we map to a sane size to keep the chunks
751 * of work done where somewhat symmetric with the work writeback does.
752 * This is a completely arbitrary number pulled out of thin air as a
753 * best guess for initial testing.
754 *
755 * Following the logic of writeback_chunk_size(), the length will be
756 * rounded to the nearest 4MB boundary.
757 *
758 * Note that the values needs to be less than 32-bits wide until the
759 * lower level functions are updated.
760 */
761 static loff_t
762 xfs_max_map_length(struct inode *inode, loff_t length)
763 {
764 struct bdi_writeback *wb;
765 long pages;
766
767 spin_lock(&inode->i_lock);
> 768 wb = inode_to_wb(wb);
769 pages = min(wb->avg_write_bandwidth / 2,
770 global_wb_domain.dirty_limit / DIRTY_SCOPE);
771 spin_unlock(&inode->i_lock);
772 pages = round_down(pages + MIN_WRITEBACK_PAGES, MIN_WRITEBACK_PAGES);
773
774 return min_t(loff_t, length, pages * PAGE_SIZE);
775 }
776

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki