Re: [f2fs-dev] [PATCH] f2fs: introduce gcless mount option to avoid foreground GC
kernel test robot <[email protected]>
| Newsgroups | net.sourceforge.lists.linux-f2fs-devel,dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi Yonggil, kernel test robot noticed the following build warnings: [auto build test WARNING on cb8ff3ead9a3fc43727980be58c7099506f65261] url: https://github.com/intel-lab-lkp/linux/commits/Yonggil-Song/f2fs-introduce-gcless-mount-option-to-avoid-foreground-GC/20260706-154229 base: cb8ff3ead9a3fc43727980be58c7099506f65261 patch link: https://lore.kernel.org/r/20260706062043epcms2p16928216befdca1242bc2d3cd7cb34afe%40epcms2p1 patch subject: [PATCH] f2fs: introduce gcless mount option to avoid foreground GC config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260707/[email protected]/config) compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 0a2fb2a2269da0e2a3e230beb6cad39ca314db33) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260707/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): In file included from fs/f2fs/dir.c:14: >> fs/f2fs/f2fs.h:2945:4: warning: shift count >= width of type [-Wshift-count-overflow] 2945 | test_opt(sbi, RESERVE_NODE)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ In file included from fs/f2fs/dir.c:14: fs/f2fs/f2fs.h:2953:6: warning: shift count >= width of type [-Wshift-count-overflow] 2953 | if (test_opt(sbi, RESERVE_NODE) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ 2 warnings generated. -- In file included from fs/f2fs/super.c:33: >> fs/f2fs/f2fs.h:2945:4: warning: shift count >= width of type [-Wshift-count-overflow] 2945 | test_opt(sbi, RESERVE_NODE)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ In file included from fs/f2fs/super.c:33: fs/f2fs/f2fs.h:2953:6: warning: shift count >= width of type [-Wshift-count-overflow] 2953 | if (test_opt(sbi, RESERVE_NODE) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ >> fs/f2fs/super.c:520:6: warning: shift count >= width of type [-Wshift-count-overflow] 520 | if (test_opt(sbi, RESERVE_NODE) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ fs/f2fs/super.c:526:39: warning: shift count >= width of type [-Wshift-count-overflow] 526 | if (!test_opt(sbi, RESERVE_ROOT) && !test_opt(sbi, RESERVE_NODE) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ fs/f2fs/super.c:1528:6: warning: shift count >= width of type [-Wshift-count-overflow] 1528 | if (test_opt(sbi, RESERVE_NODE) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ fs/f2fs/super.c:1529:21: warning: shift count >= width of type [-Wshift-count-overflow] 1529 | (ctx->opt_mask & BIT(F2FS_MOUNT_RESERVE_NODE)) && | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ fs/f2fs/super.c:1534:21: warning: shift count >= width of type [-Wshift-count-overflow] 1534 | ctx->opt_mask &= ~BIT(F2FS_MOUNT_RESERVE_NODE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ fs/f2fs/super.c:2475:37: warning: shift count >= width of type [-Wshift-count-overflow] 2475 | if (test_opt(sbi, RESERVE_ROOT) || test_opt(sbi, RESERVE_NODE)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:150:26: note: expanded from macro 'test_opt' 150 | (F2FS_OPTION(sbi).opt & BIT(F2FS_MOUNT_##option)) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' 7 | #define BIT(nr) (UL(1) << (nr)) | ^ ~~~~ 8 warnings generated. vim +2945 fs/f2fs/f2fs.h e48e16f3e37fac Daeho Jeong 2026-01-10 2916 3bac20a8f011b8 Jaegeuk Kim 2022-11-30 2917 extern void f2fs_mark_inode_dirty_sync(struct inode *inode, bool sync); 0abd675e97e60d Chao Yu 2017-07-09 2918 static inline int inc_valid_node_count(struct f2fs_sb_info *sbi, 000519f27866af Chao Yu 2017-07-06 2919 struct inode *inode, bool is_inode) 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2920 { 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2921 block_t valid_block_count; 2141879369681f Chunhai Guo 2025-08-07 2922 unsigned int valid_node_count, avail_user_node_count; 0f1c6ede6da9f7 Chao Yu 2024-02-20 2923 unsigned int avail_user_block_count; af033b2aa8a874 Chao Yu 2018-09-20 2924 int err; 0abd675e97e60d Chao Yu 2017-07-09 2925 af033b2aa8a874 Chao Yu 2018-09-20 2926 if (is_inode) { af033b2aa8a874 Chao Yu 2018-09-20 2927 if (inode) { af033b2aa8a874 Chao Yu 2018-09-20 2928 err = dquot_alloc_inode(inode); af033b2aa8a874 Chao Yu 2018-09-20 2929 if (err) af033b2aa8a874 Chao Yu 2018-09-20 2930 return err; af033b2aa8a874 Chao Yu 2018-09-20 2931 } af033b2aa8a874 Chao Yu 2018-09-20 2932 } else { af033b2aa8a874 Chao Yu 2018-09-20 2933 err = dquot_reserve_block(inode, 1); af033b2aa8a874 Chao Yu 2018-09-20 2934 if (err) af033b2aa8a874 Chao Yu 2018-09-20 2935 return err; 0abd675e97e60d Chao Yu 2017-07-09 2936 } 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2937 c40e15a9a59f79 Yangtao Li 2022-12-21 2938 if (time_to_inject(sbi, FAULT_BLOCK)) 812c60564ca721 Chao Yu 2017-11-13 2939 goto enospc; 812c60564ca721 Chao Yu 2017-11-13 2940 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2941 spin_lock(&sbi->stat_lock); 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2942 0f1c6ede6da9f7 Chao Yu 2024-02-20 2943 valid_block_count = sbi->total_valid_block_count + 1; 2141879369681f Chunhai Guo 2025-08-07 2944 avail_user_block_count = get_available_block_count(sbi, inode, 2141879369681f Chunhai Guo 2025-08-07 @2945 test_opt(sbi, RESERVE_NODE)); 300a842937fbcf Chao Yu 2021-12-11 2946 0f1c6ede6da9f7 Chao Yu 2024-02-20 2947 if (unlikely(valid_block_count > avail_user_block_count)) { 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2948 spin_unlock(&sbi->stat_lock); 0abd675e97e60d Chao Yu 2017-07-09 2949 goto enospc; 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2950 } 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2951 2141879369681f Chunhai Guo 2025-08-07 2952 avail_user_node_count = sbi->total_node_count - F2FS_RESERVED_NODE_NUM; 2141879369681f Chunhai Guo 2025-08-07 2953 if (test_opt(sbi, RESERVE_NODE) && 2141879369681f Chunhai Guo 2025-08-07 2954 !__allow_reserved_root(sbi, inode, true)) 2141879369681f Chunhai Guo 2025-08-07 2955 avail_user_node_count -= F2FS_OPTION(sbi).root_reserved_nodes; ef86d70994b57c Gu Zheng 2013-11-19 2956 valid_node_count = sbi->total_valid_node_count + 1; 2141879369681f Chunhai Guo 2025-08-07 2957 if (unlikely(valid_node_count > avail_user_node_count)) { 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2958 spin_unlock(&sbi->stat_lock); 0abd675e97e60d Chao Yu 2017-07-09 2959 goto enospc; 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2960 } 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2961 ef86d70994b57c Gu Zheng 2013-11-19 2962 sbi->total_valid_node_count++; ef86d70994b57c Gu Zheng 2013-11-19 2963 sbi->total_valid_block_count++; 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2964 spin_unlock(&sbi->stat_lock); 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2965 000519f27866af Chao Yu 2017-07-06 2966 if (inode) { 000519f27866af Chao Yu 2017-07-06 2967 if (is_inode) 000519f27866af Chao Yu 2017-07-06 2968 f2fs_mark_inode_dirty_sync(inode, true); 000519f27866af Chao Yu 2017-07-06 2969 else 0abd675e97e60d Chao Yu 2017-07-09 2970 f2fs_i_blocks_write(inode, 1, true, true); 000519f27866af Chao Yu 2017-07-06 2971 } ef86d70994b57c Gu Zheng 2013-11-19 2972 41382ec43255b5 Jaegeuk Kim 2016-05-16 2973 percpu_counter_inc(&sbi->alloc_valid_block_count); 0abd675e97e60d Chao Yu 2017-07-09 2974 return 0; 0abd675e97e60d Chao Yu 2017-07-09 2975 0abd675e97e60d Chao Yu 2017-07-09 2976 enospc: af033b2aa8a874 Chao Yu 2018-09-20 2977 if (is_inode) { af033b2aa8a874 Chao Yu 2018-09-20 2978 if (inode) af033b2aa8a874 Chao Yu 2018-09-20 2979 dquot_free_inode(inode); af033b2aa8a874 Chao Yu 2018-09-20 2980 } else { 0abd675e97e60d Chao Yu 2017-07-09 2981 dquot_release_reservation_block(inode, 1); af033b2aa8a874 Chao Yu 2018-09-20 2982 } 0abd675e97e60d Chao Yu 2017-07-09 2983 return -ENOSPC; 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2984 } 39a53e0ce0df01 Jaegeuk Kim 2012-11-28 2985 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel