From: kernel test robot <lkp@intel.com>
To: Yonggil Song <yonggil.song@samsung.com>,
"jaegeuk@kernel.org" <jaegeuk@kernel.org>,
"chao@kernel.org" <chao@kernel.org>,
"corbet@lwn.net" <corbet@lwn.net>
Cc: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
llvm@lists.linux.dev,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>,
oe-kbuild-all@lists.linux.dev,
Seokhwan Kim <sukka.kim@samsung.com>,
Dongjin Kim <dongjin_.kim@samsung.com>
Subject: Re: [f2fs-dev] [PATCH] f2fs: introduce gcless mount option to avoid foreground GC
Date: Tue, 7 Jul 2026 16:29:39 +0800 [thread overview]
Message-ID: <202607071623.ZxOpKv3S-lkp@intel.com> (raw)
In-Reply-To: <20260706062043epcms2p16928216befdca1242bc2d3cd7cb34afe@epcms2p1>
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/202607071623.ZxOpKv3S-lkp@intel.com/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/202607071623.ZxOpKv3S-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607071623.ZxOpKv3S-lkp@intel.com/
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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Yonggil Song <yonggil.song@samsung.com>,
"jaegeuk@kernel.org" <jaegeuk@kernel.org>,
"chao@kernel.org" <chao@kernel.org>,
"corbet@lwn.net" <corbet@lwn.net>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Yonggil Song <yonggil.song@samsung.com>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Dongjin Kim <dongjin_.kim@samsung.com>,
Seokhwan Kim <sukka.kim@samsung.com>,
Daejun Park <daejun7.park@samsung.com>
Subject: Re: [PATCH] f2fs: introduce gcless mount option to avoid foreground GC
Date: Tue, 7 Jul 2026 16:29:39 +0800 [thread overview]
Message-ID: <202607071623.ZxOpKv3S-lkp@intel.com> (raw)
In-Reply-To: <20260706062043epcms2p16928216befdca1242bc2d3cd7cb34afe@epcms2p1>
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/202607071623.ZxOpKv3S-lkp@intel.com/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/202607071623.ZxOpKv3S-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607071623.ZxOpKv3S-lkp@intel.com/
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
next prev parent reply other threads:[~2026-07-07 8:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20260706062043epcms2p16928216befdca1242bc2d3cd7cb34afe@epcms2p1>
2026-07-06 6:20 ` [f2fs-dev] [PATCH] f2fs: introduce gcless mount option to avoid foreground GC Yonggil Song
2026-07-06 6:20 ` Yonggil Song
2026-07-07 8:29 ` kernel test robot [this message]
2026-07-07 8:29 ` kernel test robot
2026-07-18 7:51 ` [f2fs-dev] " kernel test robot
2026-07-18 7:51 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202607071623.ZxOpKv3S-lkp@intel.com \
--to=lkp@intel.com \
--cc=chao@kernel.org \
--cc=corbet@lwn.net \
--cc=dongjin_.kim@samsung.com \
--cc=jaegeuk@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sukka.kim@samsung.com \
--cc=yonggil.song@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.