[chao-linux:dev 7/7] fs/f2fs/extent_cache.c:690:31: error: variable has incomplete type 'struct extent_info_unaligned'

From: kernel test robot
Date: Sat Jul 31 2021 - 22:58:38 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git dev
head: 2d3893d5b67f8ee259cf86b2493dc25b4fbf7423
commit: 2d3893d5b67f8ee259cf86b2493dc25b4fbf7423 [7/7] f2fs: extent cache: support unaligned extent
config: x86_64-randconfig-a013-20210728 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c49df15c278857adecd12db6bb1cdc96885f7079)
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://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?id=2d3893d5b67f8ee259cf86b2493dc25b4fbf7423
git remote add chao-linux https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git
git fetch --no-tags chao-linux dev
git checkout 2d3893d5b67f8ee259cf86b2493dc25b4fbf7423
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=x86_64 SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

In file included from fs/f2fs/file.c:27:
>> fs/f2fs/f2fs.h:4027:13: warning: declaration of 'struct extent_info_unaligned' will not be visible outside of this function [-Wvisibility]
struct extent_info_unaligned *eiu);
^
1 warning generated.
--
In file included from fs/f2fs/extent_cache.c:14:
>> fs/f2fs/f2fs.h:4027:13: warning: declaration of 'struct extent_info_unaligned' will not be visible outside of this function [-Wvisibility]
struct extent_info_unaligned *eiu);
^
>> fs/f2fs/extent_cache.c:690:31: error: variable has incomplete type 'struct extent_info_unaligned'
struct extent_info_unaligned eiu;
^
fs/f2fs/extent_cache.c:690:9: note: forward declaration of 'struct extent_info_unaligned'
struct extent_info_unaligned eiu;
^
1 warning and 1 error generated.


vim +690 fs/f2fs/extent_cache.c

681
682 void f2fs_update_extent_tree_range_unaligned(struct inode *inode,
683 pgoff_t fofs, block_t blkaddr, unsigned int llen,
684 unsigned int plen)
685 {
686 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
687 struct extent_tree *et = F2FS_I(inode)->extent_tree;
688 struct extent_node *en = NULL;
689 struct extent_node *prev_en = NULL, *next_en = NULL;
> 690 struct extent_info_unaligned eiu;
691 struct rb_node **insert_p = NULL, *insert_parent = NULL;
692 bool leftmost = false;
693
694 trace_f2fs_update_extent_tree_range(inode, fofs, blkaddr, llen);
695
696 write_lock(&et->lock);
697
698 if (is_inode_flag_set(inode, FI_NO_EXTENT)) {
699 write_unlock(&et->lock);
700 return;
701 }
702
703 en = (struct extent_node *)f2fs_lookup_rb_tree_ret(&et->root,
704 (struct rb_entry *)et->cached_en, fofs,
705 (struct rb_entry **)&prev_en,
706 (struct rb_entry **)&next_en,
707 &insert_p, &insert_parent, false,
708 &leftmost);
709 f2fs_bug_on(sbi, en);
710
711 set_extent_info(&eiu.ei, fofs, blkaddr, llen);
712 eiu.plen = plen;
713
714 if (!__try_merge_extent_node(sbi, et, (struct extent_info *)&eiu,
715 prev_en, next_en, true))
716 __insert_extent_tree(sbi, et, (struct extent_info *)&eiu,
717 insert_p, insert_parent, leftmost, true);
718
719 write_unlock(&et->lock);
720 }
721

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip