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

From: kernel test robot
Date: Fri Jun 07 2024 - 09:39:34 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: i386-randconfig-001-20240607 (https://download.01.org/0day-ci/archive/20240607/202406072138.EUCgPNSP-lkp@xxxxxxxxx/config)
compiler: gcc-8 (Ubuntu 8.4.0-3ubuntu2) 8.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240607/202406072138.EUCgPNSP-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/202406072138.EUCgPNSP-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from fs/f2fs/recovery.c:12:
>> fs/f2fs/f2fs.h:1118:6: error: nested redefinition of 'enum page_type'
enum page_type {
^~~~~~~~~
fs/f2fs/f2fs.h:1118:6: error: redeclaration of 'enum page_type'
In file included from include/linux/mmzone.h:23,
from include/linux/gfp.h:7,
from include/linux/xarray.h:16,
from include/linux/list_lru.h:14,
from include/linux/fs.h:13,
from fs/f2fs/recovery.c:9:
include/linux/page-flags.h:948:6: note: originally defined here
enum page_type {
^~~~~~~~~


vim +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