FYI; I fixed this in the branch.

Thanks,

On 10/11, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git 
> dev-test
> head:   1b5d38c7280014133ddec78603d231006adba05b
> commit: 5814edee9182ef648388de43df62d56f159cb5f9 [15/23] f2fs: support 
> issuing/waiting discard in range
> config: i386-randconfig-x008-201741 (attached as .config)
> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> reproduce:
>         git checkout 5814edee9182ef648388de43df62d56f159cb5f9
>         # save the attached .config to linux build tree
>         make ARCH=i386 
> 
> Note: the f2fs/dev-test HEAD 1b5d38c7280014133ddec78603d231006adba05b builds 
> fine.
>       It only hurts bisectibility.
> 
> All errors (new ones prefixed by >>):
> 
>    fs//f2fs/super.c: In function 'f2fs_put_super':
> >> fs//f2fs/super.c:830:2: error: too many arguments to function 
> >> 'f2fs_wait_discard_bios'
>      f2fs_wait_discard_bios(sbi, true);
>      ^~~~~~~~~~~~~~~~~~~~~~
>    In file included from fs//f2fs/super.c:30:0:
>    fs//f2fs/f2fs.h:2551:6: note: declared here
>     void f2fs_wait_discard_bios(struct f2fs_sb_info *sbi);
>          ^~~~~~~~~~~~~~~~~~~~~~
>    In file included from include/uapi/linux/stddef.h:1:0,
>                     from include/linux/stddef.h:4,
>                     from include/uapi/linux/posix_types.h:4,
>                     from include/uapi/linux/types.h:13,
>                     from include/linux/types.h:5,
>                     from include/linux/list.h:4,
>                     from include/linux/module.h:9,
>                     from fs//f2fs/super.c:11:
>    fs//f2fs/super.c: At top level:
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'strcpy' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:421:2: note: in expansion of macro 'if'
>      if (p_size == (size_t)-1 && q_size == (size_t)-1)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'kmemdup' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:411:2: note: in expansion of macro 'if'
>      if (p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'kmemdup' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:409:2: note: in expansion of macro 'if'
>      if (__builtin_constant_p(size) && p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memchr_inv' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:400:2: note: in expansion of macro 'if'
>      if (p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memchr_inv' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:398:2: note: in expansion of macro 'if'
>      if (__builtin_constant_p(size) && p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memchr' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:389:2: note: in expansion of macro 'if'
>      if (p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memchr' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:387:2: note: in expansion of macro 'if'
>      if (__builtin_constant_p(size) && p_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memcmp' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:379:2: note: in expansion of macro 'if'
>      if (p_size < size || q_size < size)
>      ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memcmp' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
>     #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
>                           ^~~~~~~~~~
>    include/linux/string.h:376:3: note: in expansion of macro 'if'
>       if (q_size < size)
>       ^~
>    include/linux/compiler.h:162:4: warning: '______f' is static but declared 
> in inline function 'memcmp' which is not static
>        ______f = {     \
>        ^
>    include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
> 
> vim +/f2fs_wait_discard_bios +830 fs//f2fs/super.c
> 
> 3c62be17 Jaegeuk Kim 2016-10-06  805  
> aff063e2 Jaegeuk Kim 2012-11-02  806  static void f2fs_put_super(struct 
> super_block *sb)
> aff063e2 Jaegeuk Kim 2012-11-02  807  {
> aff063e2 Jaegeuk Kim 2012-11-02  808          struct f2fs_sb_info *sbi = 
> F2FS_SB(sb);
> a398101a Chao Yu     2017-06-14  809          int i;
> aff063e2 Jaegeuk Kim 2012-11-02  810  
> 0abd675e Chao Yu     2017-07-09  811          f2fs_quota_off_umount(sb);
> aff063e2 Jaegeuk Kim 2012-11-02  812  
> 2658e50d Jaegeuk Kim 2015-06-19  813          /* prevent remaining shrinker 
> jobs */
> 2658e50d Jaegeuk Kim 2015-06-19  814          mutex_lock(&sbi->umount_mutex);
> 2658e50d Jaegeuk Kim 2015-06-19  815  
> 85dc2f2c Jaegeuk Kim 2015-01-14  816          /*
> 85dc2f2c Jaegeuk Kim 2015-01-14  817           * We don't need to do 
> checkpoint when superblock is clean.
> 85dc2f2c Jaegeuk Kim 2015-01-14  818           * But, the previous checkpoint 
> was not done by umount, it needs to do
> 85dc2f2c Jaegeuk Kim 2015-01-14  819           * clean checkpoint again.
> 85dc2f2c Jaegeuk Kim 2015-01-14  820           */
> caf0047e Chao Yu     2015-01-28  821          if (is_sbi_flag_set(sbi, 
> SBI_IS_DIRTY) ||
> aaec2b1d Chao Yu     2016-09-20  822                          
> !is_set_ckpt_flags(sbi, CP_UMOUNT_FLAG)) {
> 75ab4cb8 Jaegeuk Kim 2014-09-20  823                  struct cp_control cpc = 
> {
> 75ab4cb8 Jaegeuk Kim 2014-09-20  824                          .reason = 
> CP_UMOUNT,
> 75ab4cb8 Jaegeuk Kim 2014-09-20  825                  };
> 75ab4cb8 Jaegeuk Kim 2014-09-20  826                  write_checkpoint(sbi, 
> &cpc);
> 75ab4cb8 Jaegeuk Kim 2014-09-20  827          }
> aff063e2 Jaegeuk Kim 2012-11-02  828  
> 4e6a8d9b Jaegeuk Kim 2016-12-29  829          /* be sure to wait for any 
> on-going discard commands */
> 638164a2 Chao Yu     2017-10-02 @830          f2fs_wait_discard_bios(sbi, 
> true);
> 4e6a8d9b Jaegeuk Kim 2016-12-29  831  
> 663f387b Chao Yu     2017-06-14  832          if (f2fs_discard_en(sbi) && 
> !sbi->discard_blks) {
> 1f43e2ad Chao Yu     2017-04-28  833                  struct cp_control cpc = 
> {
> 1f43e2ad Chao Yu     2017-04-28  834                          .reason = 
> CP_UMOUNT | CP_TRIMMED,
> 1f43e2ad Chao Yu     2017-04-28  835                  };
> 1f43e2ad Chao Yu     2017-04-28  836                  write_checkpoint(sbi, 
> &cpc);
> 1f43e2ad Chao Yu     2017-04-28  837          }
> 1f43e2ad Chao Yu     2017-04-28  838  
> eca616f8 Jaegeuk Kim 2015-06-15  839          /* write_checkpoint can update 
> stat informaion */
> eca616f8 Jaegeuk Kim 2015-06-15  840          f2fs_destroy_stats(sbi);
> eca616f8 Jaegeuk Kim 2015-06-15  841  
> cf779cab Jaegeuk Kim 2014-08-11  842          /*
> cf779cab Jaegeuk Kim 2014-08-11  843           * normally superblock is 
> clean, so we need to release this.
> cf779cab Jaegeuk Kim 2014-08-11  844           * In addition, EIO will skip 
> do checkpoint, we need this as well.
> cf779cab Jaegeuk Kim 2014-08-11  845           */
> 74ef9241 Jaegeuk Kim 2016-05-02  846          release_ino_entry(sbi, true);
> 6f12ac25 Jaegeuk Kim 2014-08-19  847  
> 2658e50d Jaegeuk Kim 2015-06-19  848          f2fs_leave_shrinker(sbi);
> 2658e50d Jaegeuk Kim 2015-06-19  849          
> mutex_unlock(&sbi->umount_mutex);
> 2658e50d Jaegeuk Kim 2015-06-19  850  
> 17c19120 Jaegeuk Kim 2016-01-29  851          /* our cp_error case, we can 
> wait for any writeback page */
> b9109b0e Jaegeuk Kim 2017-05-10  852          f2fs_flush_merged_writes(sbi);
> 17c19120 Jaegeuk Kim 2016-01-29  853  
> aff063e2 Jaegeuk Kim 2012-11-02  854          iput(sbi->node_inode);
> aff063e2 Jaegeuk Kim 2012-11-02  855          iput(sbi->meta_inode);
> aff063e2 Jaegeuk Kim 2012-11-02  856  
> aff063e2 Jaegeuk Kim 2012-11-02  857          /* destroy f2fs internal 
> modules */
> aff063e2 Jaegeuk Kim 2012-11-02  858          destroy_node_manager(sbi);
> aff063e2 Jaegeuk Kim 2012-11-02  859          destroy_segment_manager(sbi);
> aff063e2 Jaegeuk Kim 2012-11-02  860  
> aff063e2 Jaegeuk Kim 2012-11-02  861          kfree(sbi->ckpt);
> a398101a Chao Yu     2017-06-14  862  
> dc6b2055 Jaegeuk Kim 2017-07-26  863          f2fs_unregister_sysfs(sbi);
> aff063e2 Jaegeuk Kim 2012-11-02  864  
> aff063e2 Jaegeuk Kim 2012-11-02  865          sb->s_fs_info = NULL;
> 43b6573b Keith Mok   2016-03-02  866          if (sbi->s_chksum_driver)
> 43b6573b Keith Mok   2016-03-02  867                  
> crypto_free_shash(sbi->s_chksum_driver);
> b39f0de2 Yunlei He   2015-12-15  868          kfree(sbi->raw_super);
> 523be8a6 Jaegeuk Kim 2016-05-13  869  
> 3c62be17 Jaegeuk Kim 2016-10-06  870          destroy_device_list(sbi);
> b6895e8f Chao Yu     2017-02-27  871          
> mempool_destroy(sbi->write_io_dummy);
> 4b2414d0 Chao Yu     2017-08-08  872  #ifdef CONFIG_QUOTA
> 4b2414d0 Chao Yu     2017-08-08  873          for (i = 0; i < MAXQUOTAS; i++)
> 4b2414d0 Chao Yu     2017-08-08  874                  
> kfree(sbi->s_qf_names[i]);
> 4b2414d0 Chao Yu     2017-08-08  875  #endif
> 523be8a6 Jaegeuk Kim 2016-05-13  876          destroy_percpu_info(sbi);
> a912b54d Jaegeuk Kim 2017-05-10  877          for (i = 0; i < NR_PAGE_TYPE; 
> i++)
> a912b54d Jaegeuk Kim 2017-05-10  878                  kfree(sbi->write_io[i]);
> aff063e2 Jaegeuk Kim 2012-11-02  879          kfree(sbi);
> aff063e2 Jaegeuk Kim 2012-11-02  880  }
> aff063e2 Jaegeuk Kim 2012-11-02  881  
> 
> :::::: The code at line 830 was first introduced by commit
> :::::: 638164a2718f337ea224b747cf5977ef143166a4 f2fs: fix potential panic 
> during fstrim
> 
> :::::: TO: Chao Yu <yuch...@huawei.com>
> :::::: CC: Jaegeuk Kim <jaeg...@kernel.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to