Re: [f2fs-dev] [PATCH 14/23] f2fs: Convert f2fs_write_cache_pages() to use filemap_get_folios_tag()

2022-09-02 Thread kernel test robot
Hi "Vishal,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on jaegeuk-f2fs/dev-test]
[also build test ERROR on kdave/for-next linus/master v6.0-rc3]
[cannot apply to ceph-client/for-linus next-20220901]
[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/Vishal-Moola-Oracle/Convert-to-filemap_get_folios_tag/20220902-060430
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git 
dev-test
config: arc-randconfig-r043-20220901 
(https://download.01.org/0day-ci/archive/20220903/202209030512.9yay8edt-...@intel.com/config)
compiler: arc-elf-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# 
https://github.com/intel-lab-lkp/linux/commit/6c74320953cd3749db95f9f09c1fc7d044933635
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review 
Vishal-Moola-Oracle/Convert-to-filemap_get_folios_tag/20220902-060430
git checkout 6c74320953cd3749db95f9f09c1fc7d044933635
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 
O=build_dir ARCH=arc SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

   fs/f2fs/data.c: In function 'f2fs_write_cache_pages':
>> fs/f2fs/data.c:3016:53: error: 'nr_pages' undeclared (first use in this 
>> function); did you mean 'dir_pages'?
3016 | , i, nr_pages, true))
 | ^~~~
 | dir_pages
   fs/f2fs/data.c:3016:53: note: each undeclared identifier is reported only 
once for each function it appears in
>> fs/f2fs/data.c:3017:41: error: label 'lock_page' used but not defined
3017 | goto lock_page;
 | ^~~~


vim +3016 fs/f2fs/data.c

  2908  
  2909  /*
  2910   * This function was copied from write_cche_pages from 
mm/page-writeback.c.
  2911   * The major change is making write step of cold data page separately 
from
  2912   * warm/hot data page.
  2913   */
  2914  static int f2fs_write_cache_pages(struct address_space *mapping,
  2915  struct writeback_control *wbc,
  2916  enum iostat_type io_type)
  2917  {
  2918  int ret = 0;
  2919  int done = 0, retry = 0;
  2920  struct folio_batch fbatch;
  2921  struct f2fs_sb_info *sbi = F2FS_M_SB(mapping);
  2922  struct bio *bio = NULL;
  2923  sector_t last_block;
  2924  #ifdef CONFIG_F2FS_FS_COMPRESSION
  2925  struct inode *inode = mapping->host;
  2926  struct compress_ctx cc = {
  2927  .inode = inode,
  2928  .log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
  2929  .cluster_size = F2FS_I(inode)->i_cluster_size,
  2930  .cluster_idx = NULL_CLUSTER,
  2931  .rpages = NULL,
  2932  .nr_rpages = 0,
  2933  .cpages = NULL,
  2934  .valid_nr_cpages = 0,
  2935  .rbuf = NULL,
  2936  .cbuf = NULL,
  2937  .rlen = PAGE_SIZE * F2FS_I(inode)->i_cluster_size,
  2938  .private = NULL,
  2939  };
  2940  #endif
  2941  int nr_folios;
  2942  pgoff_t index;
  2943  pgoff_t end;/* Inclusive */
  2944  pgoff_t done_index;
  2945  int range_whole = 0;
  2946  xa_mark_t tag;
  2947  int nwritten = 0;
  2948  int submitted = 0;
  2949  int i;
  2950  
  2951  folio_batch_init();
  2952  
  2953  if (get_dirty_pages(mapping->host) <=
  2954  
SM_I(F2FS_M_SB(mapping))->min_hot_blocks)
  2955  set_inode_flag(mapping->host, FI_HOT_DATA);
  2956  else
  2957  clear_inode_flag(mapping->host, FI_HOT_DATA);
  2958  
  2959  if (wbc->range_cyclic) {
  2960  index = mapping->writeback_index; /* prev offset */
  2961  end = -1;
  2962  } else {
  2963  index = wbc->range_start >> PAGE_SHIFT;
  2964  end = wbc->range_end >> PAGE_SHIFT;
  2965  if (wbc->range_start == 0 && wbc->range_end == 
LLONG_MAX)
  2966  

Re: [f2fs-dev] [PATCH 14/23] f2fs: Convert f2fs_write_cache_pages() to use filemap_get_folios_tag()

2022-09-02 Thread kernel test robot
Hi "Vishal,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on jaegeuk-f2fs/dev-test]
[also build test ERROR on kdave/for-next linus/master v6.0-rc3]
[cannot apply to ceph-client/for-linus next-20220901]
[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/Vishal-Moola-Oracle/Convert-to-filemap_get_folios_tag/20220902-060430
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git 
dev-test
config: hexagon-randconfig-r045-20220901 
(https://download.01.org/0day-ci/archive/20220903/202209030346.t02z8vfy-...@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 
c55b41d5199d2394dd6cdb8f52180d8b81d809d4)
reproduce (this is a W=1 build):
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# 
https://github.com/intel-lab-lkp/linux/commit/6c74320953cd3749db95f9f09c1fc7d044933635
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review 
Vishal-Moola-Oracle/Convert-to-filemap_get_folios_tag/20220902-060430
git checkout 6c74320953cd3749db95f9f09c1fc7d044933635
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 
O=build_dir ARCH=hexagon SHELL=/bin/bash fs/f2fs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

>> fs/f2fs/data.c:3016:18: error: use of undeclared identifier 'nr_pages'; did 
>> you mean 'dir_pages'?
   , i, nr_pages, true))
   ^~~~
   dir_pages
   include/linux/pagemap.h:1404:29: note: 'dir_pages' declared here
   static inline unsigned long dir_pages(struct inode *inode)
   ^
>> fs/f2fs/data.c:3017:11: error: use of undeclared label 'lock_page'
   goto lock_page;
^
   2 errors generated.


vim +3016 fs/f2fs/data.c

  2908  
  2909  /*
  2910   * This function was copied from write_cche_pages from 
mm/page-writeback.c.
  2911   * The major change is making write step of cold data page separately 
from
  2912   * warm/hot data page.
  2913   */
  2914  static int f2fs_write_cache_pages(struct address_space *mapping,
  2915  struct writeback_control *wbc,
  2916  enum iostat_type io_type)
  2917  {
  2918  int ret = 0;
  2919  int done = 0, retry = 0;
  2920  struct folio_batch fbatch;
  2921  struct f2fs_sb_info *sbi = F2FS_M_SB(mapping);
  2922  struct bio *bio = NULL;
  2923  sector_t last_block;
  2924  #ifdef CONFIG_F2FS_FS_COMPRESSION
  2925  struct inode *inode = mapping->host;
  2926  struct compress_ctx cc = {
  2927  .inode = inode,
  2928  .log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
  2929  .cluster_size = F2FS_I(inode)->i_cluster_size,
  2930  .cluster_idx = NULL_CLUSTER,
  2931  .rpages = NULL,
  2932  .nr_rpages = 0,
  2933  .cpages = NULL,
  2934  .valid_nr_cpages = 0,
  2935  .rbuf = NULL,
  2936  .cbuf = NULL,
  2937  .rlen = PAGE_SIZE * F2FS_I(inode)->i_cluster_size,
  2938  .private = NULL,
  2939  };
  2940  #endif
  2941  int nr_folios;
  2942  pgoff_t index;
  2943  pgoff_t end;/* Inclusive */
  2944  pgoff_t done_index;
  2945  int range_whole = 0;
  2946  xa_mark_t tag;
  2947  int nwritten = 0;
  2948  int submitted = 0;
  2949  int i;
  2950  
  2951  folio_batch_init();
  2952  
  2953  if (get_dirty_pages(mapping->host) <=
  2954  
SM_I(F2FS_M_SB(mapping))->min_hot_blocks)
  2955  set_inode_flag(mapping->host, FI_HOT_DATA);
  2956  else
  2957  clear_inode_flag(mapping->host, FI_HOT_DATA);
  2958  
  2959  if (wbc->range_cyclic) {
  2960  index = mapping->writeback_index; /* prev offset */
  2961  end = -1;
  2962  } else {
  2963  index = wbc->range_start >> PAGE_SHIFT;
  2964  end = wbc->range_end >> PAGE_SHIFT;
  2965  if (wbc->range_start == 0 && wbc->range_end ==