Re: [PATCH] f2fs: fix to convert log type to segment data type correctly

From: Chao Yu
Date: Mon Oct 21 2024 - 22:09:06 EST


Hi,

Thanks for the report, I rebased this patch on top of
https://lore.kernel.org/linux-f2fs-devel/20241017012932.1570038-1-chao@xxxxxxxxxx,
so there will be dependency in between these two patch.

Thanks,

On 2024/10/20 5:57, kernel test robot wrote:
Hi Chao,

kernel test robot noticed the following build errors:

[auto build test ERROR on jaegeuk-f2fs/dev-test]
[also build test ERROR on jaegeuk-f2fs/dev linus/master v6.12-rc3 next-20241018]
[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/Chao-Yu/f2fs-fix-to-convert-log-type-to-segment-data-type-correctly/20241018-172401
base: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test
patch link: https://lore.kernel.org/r/20241018092200.2792472-1-chao%40kernel.org
patch subject: [PATCH] f2fs: fix to convert log type to segment data type correctly
config: i386-buildonly-randconfig-002-20241019 (https://download.01.org/0day-ci/archive/20241020/202410200521.Mc4H4BHm-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/20241020/202410200521.Mc4H4BHm-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/202410200521.Mc4H4BHm-lkp@xxxxxxxxx/

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

fs/f2fs/segment.c:3818:38: warning: declaration of 'enum log_type' will not be visible outside of this function [-Wvisibility]
3818 | static int log_type_to_seg_type(enum log_type type)
| ^
fs/f2fs/segment.c:3818:47: error: variable has incomplete type 'enum log_type'
3818 | static int log_type_to_seg_type(enum log_type type)
| ^
fs/f2fs/segment.c:3818:38: note: forward declaration of 'enum log_type'
3818 | static int log_type_to_seg_type(enum log_type type)
| ^
fs/f2fs/segment.c:3843:16: error: variable has incomplete type 'enum log_type'
3843 | enum log_type type = __get_segment_type(fio);
| ^
fs/f2fs/segment.c:3843:7: note: forward declaration of 'enum log_type'
3843 | enum log_type type = __get_segment_type(fio);
| ^
fs/f2fs/segment.c:4828:44: error: argument type 'enum log_type' is incomplete
4828 | array[i].seg_type = log_type_to_seg_type(i);
| ^
fs/f2fs/segment.c:3818:38: note: forward declaration of 'enum log_type'
3818 | static int log_type_to_seg_type(enum log_type type)
| ^
1 warning and 3 errors generated.


vim +3818 fs/f2fs/segment.c

3817
3818 static int log_type_to_seg_type(enum log_type type)
3819 {
3820 int seg_type = CURSEG_COLD_DATA;
3821
3822 switch (type) {
3823 case CURSEG_HOT_DATA:
3824 case CURSEG_WARM_DATA:
3825 case CURSEG_COLD_DATA:
3826 case CURSEG_HOT_NODE:
3827 case CURSEG_WARM_NODE:
3828 case CURSEG_COLD_NODE:
3829 seg_type = (int)type;
3830 break;
3831 case CURSEG_COLD_DATA_PINNED:
3832 case CURSEG_ALL_DATA_ATGC:
3833 seg_type = CURSEG_COLD_DATA;
3834 break;
3835 default:
3836 break;
3837 }
3838 return seg_type;
3839 }
3840