Re: [PATCH v3] mm: convert page type macros to enum

From: kernel test robot
Date: Fri Jun 07 2024 - 11:14:35 EST


Hi Stephen,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]

url: https://github.com/intel-lab-lkp/linux/commits/Stephen-Brennan/mm-convert-page-type-macros-to-enum/20240607-081253
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240607001116.1061485-1-stephen.s.brennan%40oracle.com
patch subject: [PATCH v3] mm: convert page type macros to enum
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240607/202406072244.8rZnMpsR-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240607/202406072244.8rZnMpsR-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/202406072244.8rZnMpsR-lkp@xxxxxxxxx/

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

In file included from fs/f2fs/dir.c:13:
>> fs/f2fs/f2fs.h:1118:6: error: redefinition of 'page_type'
1118 | enum page_type {
| ^
include/linux/page-flags.h:948:6: note: previous definition is here
948 | enum page_type {
| ^
1 error generated.
--
In file included from fs/f2fs/data.c:25:
>> fs/f2fs/f2fs.h:1118:6: error: redefinition of 'page_type'
1118 | enum page_type {
| ^
include/linux/page-flags.h:948:6: note: previous definition is here
948 | enum page_type {
| ^
fs/f2fs/data.c:2373:10: warning: variable 'index' set but not used [-Wunused-but-set-variable]
2373 | pgoff_t index;
| ^
1 warning and 1 error generated.
--
In file included from fs/f2fs/segment.c:21:
>> fs/f2fs/f2fs.h:1118:6: error: redefinition of 'page_type'
1118 | enum page_type {
| ^
include/linux/page-flags.h:948:6: note: previous definition is here
948 | enum page_type {
| ^
>> fs/f2fs/segment.c:3403:7: warning: case value not in enumerated type 'enum page_type' [-Wswitch]
3403 | case DATA:
| ^
fs/f2fs/segment.c:3414:7: warning: case value not in enumerated type 'enum page_type' [-Wswitch]
3414 | case NODE:
| ^
fs/f2fs/segment.c:3425:7: warning: case value not in enumerated type 'enum page_type' [-Wswitch]
3425 | case META:
| ^
3 warnings and 1 error generated.


vim +/page_type +1118 fs/f2fs/f2fs.h

39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1104
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1105 /*
e1c42045203071 arter97 2014-08-06 1106 * The below are the page types of bios used in submit_bio().
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1107 * The available types are:
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1108 * DATA User data pages. It operates as async mode.
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1109 * NODE Node pages. It operates as async mode.
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1110 * META FS metadata pages such as SIT, NAT, CP.
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1111 * NR_PAGE_TYPE The number of page types.
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1112 * META_FLUSH Make sure the previous pages are written
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1113 * with waiting the bio's completion
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1114 * ... Only can be used with META.
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1115 */
7d5e510944ce60 Jaegeuk Kim 2013-11-18 1116 #define PAGE_TYPE_OF_BIO(type) ((type) > META ? META : (type))
87161a2b0aed9e Jaegeuk Kim 2024-02-06 1117 #define PAGE_TYPE_ON_MAIN(type) ((type) == DATA || (type) == NODE)
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 @1118 enum page_type {
6b8beca0edd320 Chao Yu 2022-05-06 1119 DATA = 0,
6b8beca0edd320 Chao Yu 2022-05-06 1120 NODE = 1, /* should not change this */
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1121 META,
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1122 NR_PAGE_TYPE,
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1123 META_FLUSH,
3db1de0e582c35 Daeho Jeong 2022-04-28 1124 IPU, /* the below types are used by tracepoints only. */
8ce67cb07dbf6b Jaegeuk Kim 2015-03-17 1125 OPU,
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1126 };
39a53e0ce0df01 Jaegeuk Kim 2012-11-28 1127

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