* [jaegeuk-f2fs:dev-test 25/42] fs/f2fs/data.c:5196:34: warning: variable 'ffs' set but not used
@ 2026-11-05 0:41 ` kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-11-05 0:41 UTC (permalink / raw)
To: Daeho Jeong; +Cc: oe-kbuild-all, linux-f2fs-devel, Jaegeuk Kim
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test
head: 648bdfa9bae3850908df31617e5922e0683d5fff
commit: 00f5f06b33d389a9c82286286412243795d31ed3 [25/42] f2fs: extend f2fs_folio_state for subpage blocks
config: openrisc-randconfig-2200-20261104 (https://download.01.org/0day-ci/archive/20261105/202611050144.47BOVak5-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 16.2.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261105/202611050144.47BOVak5-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/202611050144.47BOVak5-lkp@intel.com/
All warnings (new ones prefixed by >>):
fs/f2fs/data.c: In function 'prepare_large_folio_write_begin':
>> fs/f2fs/data.c:5196:34: warning: variable 'ffs' set but not used [-Wunused-but-set-variable=]
5196 | struct f2fs_folio_state *ffs;
| ^~~
vim +/ffs +5196 fs/f2fs/data.c
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5190
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5191 static int prepare_large_folio_write_begin(struct inode *inode,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5192 struct folio *folio, loff_t pos,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5193 unsigned int len)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5194 {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5195 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 @5196 struct f2fs_folio_state *ffs;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5197 size_t ori_off = offset_in_folio(folio, pos);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5198 size_t need_off = ori_off;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5199 int err = 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5200
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5201 /*
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5202 * when the write did not come through f2fs_write_iter, we preallocate all
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5203 * blocks in the write range here.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5204 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5205 if (!is_inode_flag_set(inode, FI_PREALLOCATED_ALL) &&
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5206 !IS_DEVICE_ALIASING(inode)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5207 pgoff_t first = F2FS_BYTES_TO_BLK(sbi, pos);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5208 pgoff_t last = F2FS_BLK_ALIGN(sbi, pos + len);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5209 pgoff_t idx;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5210
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5211 for (idx = first; idx < last; idx++) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5212 block_t blkaddr = NULL_ADDR;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5213 bool node_changed = false;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5214
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5215 err = __reserve_data_block(inode, idx, &blkaddr,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5216 &node_changed);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5217 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5218 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5219 if (f2fs_balance_fs_folio_locked(folio, folio->mapping,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5220 node_changed))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5221 return -EAGAIN;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5222 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5223 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5224
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5225 ffs = f2fs_ffs_find_or_alloc(folio);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5226
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5227 /* Skip read if the folio is already fully uptodate or the write
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5228 * covers the entire folio.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5229 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5230 if (folio_test_uptodate(folio) || len == folio_size(folio))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5231 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5232
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5233 if (!f2fs_verity_in_progress(inode) &&
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5234 !(pos & (PAGE_SIZE - 1)) && (pos + len) >= i_size_read(inode)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5235 size_t zoff = ori_off + len;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5236
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5237 if (zoff < folio_size(folio))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5238 folio_zero_segment(folio, zoff, folio_size(folio));
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5239 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5240 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5241
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5242 /* Inline data must have been converted before reaching here. */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5243 f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5244
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5245 while (find_next_valid_block(folio, ori_off,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5246 &need_off, len)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5247 struct dnode_of_data dn;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5248 pgoff_t index = folio->index + (need_off >> PAGE_SHIFT);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5249 block_t blkaddr;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5250
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5251 if (!f2fs_lookup_read_extent_cache_block(inode, index,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5252 &blkaddr)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5253 if (IS_DEVICE_ALIASING(inode))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5254 return -ENODATA;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5255
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5256 set_new_dnode(&dn, inode, NULL, NULL, 0);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5257 err = f2fs_get_dnode_of_data(&dn, index, LOOKUP_NODE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5258 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5259 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5260 blkaddr = dn.data_blkaddr;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5261 f2fs_put_dnode(&dn);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5262
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5263 if (blkaddr == NEW_ADDR) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5264 size_t off = offset_in_folio(folio,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5265 (loff_t)index << PAGE_SHIFT);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5266
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5267 folio_zero_segment(folio, off, off + PAGE_SIZE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5268 f2fs_ffs_mark_subrange_uptodate(folio, off,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5269 PAGE_SIZE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5270 continue;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5271 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5272 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5273
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5274 /*
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5275 * The read extent cache only validates the first and last
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5276 * block of i_ext, so check both the cached and dnode paths.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5277 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5278 if (!f2fs_is_valid_blkaddr(sbi, blkaddr,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5279 DATA_GENERIC_ENHANCE_READ))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5280 return -EFSCORRUPTED;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5281
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5282 err = f2fs_submit_page_read_sync(inode, folio, index, blkaddr);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5283 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5284 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5285 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5286
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5287 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5288 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5289
:::::: The code at line 5196 was first introduced by commit
:::::: 97c64ba5ddb76f7b7b1db4860310b6227278c6b3 f2fs: support regular file buffered writes on large folios
:::::: TO: Nanzhe Zhao <zhaonanzhe@xiaomi.com>
:::::: CC: Jaegeuk Kim <jaegeuk@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* [f2fs-dev] [jaegeuk-f2fs:dev-test 25/42] fs/f2fs/data.c:5196:34: warning: variable 'ffs' set but not used
@ 2026-11-05 0:41 ` kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-11-05 0:41 UTC (permalink / raw)
To: Daeho Jeong; +Cc: Jaegeuk Kim, linux-f2fs-devel, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test
head: 648bdfa9bae3850908df31617e5922e0683d5fff
commit: 00f5f06b33d389a9c82286286412243795d31ed3 [25/42] f2fs: extend f2fs_folio_state for subpage blocks
config: openrisc-randconfig-2200-20261104 (https://download.01.org/0day-ci/archive/20261105/202611050144.47BOVak5-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 16.2.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261105/202611050144.47BOVak5-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/202611050144.47BOVak5-lkp@intel.com/
All warnings (new ones prefixed by >>):
fs/f2fs/data.c: In function 'prepare_large_folio_write_begin':
>> fs/f2fs/data.c:5196:34: warning: variable 'ffs' set but not used [-Wunused-but-set-variable=]
5196 | struct f2fs_folio_state *ffs;
| ^~~
vim +/ffs +5196 fs/f2fs/data.c
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5190
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5191 static int prepare_large_folio_write_begin(struct inode *inode,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5192 struct folio *folio, loff_t pos,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5193 unsigned int len)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5194 {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5195 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 @5196 struct f2fs_folio_state *ffs;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5197 size_t ori_off = offset_in_folio(folio, pos);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5198 size_t need_off = ori_off;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5199 int err = 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5200
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5201 /*
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5202 * when the write did not come through f2fs_write_iter, we preallocate all
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5203 * blocks in the write range here.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5204 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5205 if (!is_inode_flag_set(inode, FI_PREALLOCATED_ALL) &&
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5206 !IS_DEVICE_ALIASING(inode)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5207 pgoff_t first = F2FS_BYTES_TO_BLK(sbi, pos);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5208 pgoff_t last = F2FS_BLK_ALIGN(sbi, pos + len);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5209 pgoff_t idx;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5210
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5211 for (idx = first; idx < last; idx++) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5212 block_t blkaddr = NULL_ADDR;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5213 bool node_changed = false;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5214
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5215 err = __reserve_data_block(inode, idx, &blkaddr,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5216 &node_changed);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5217 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5218 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5219 if (f2fs_balance_fs_folio_locked(folio, folio->mapping,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5220 node_changed))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5221 return -EAGAIN;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5222 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5223 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5224
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5225 ffs = f2fs_ffs_find_or_alloc(folio);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5226
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5227 /* Skip read if the folio is already fully uptodate or the write
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5228 * covers the entire folio.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5229 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5230 if (folio_test_uptodate(folio) || len == folio_size(folio))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5231 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5232
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5233 if (!f2fs_verity_in_progress(inode) &&
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5234 !(pos & (PAGE_SIZE - 1)) && (pos + len) >= i_size_read(inode)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5235 size_t zoff = ori_off + len;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5236
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5237 if (zoff < folio_size(folio))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5238 folio_zero_segment(folio, zoff, folio_size(folio));
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5239 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5240 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5241
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5242 /* Inline data must have been converted before reaching here. */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5243 f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5244
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5245 while (find_next_valid_block(folio, ori_off,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5246 &need_off, len)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5247 struct dnode_of_data dn;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5248 pgoff_t index = folio->index + (need_off >> PAGE_SHIFT);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5249 block_t blkaddr;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5250
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5251 if (!f2fs_lookup_read_extent_cache_block(inode, index,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5252 &blkaddr)) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5253 if (IS_DEVICE_ALIASING(inode))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5254 return -ENODATA;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5255
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5256 set_new_dnode(&dn, inode, NULL, NULL, 0);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5257 err = f2fs_get_dnode_of_data(&dn, index, LOOKUP_NODE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5258 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5259 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5260 blkaddr = dn.data_blkaddr;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5261 f2fs_put_dnode(&dn);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5262
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5263 if (blkaddr == NEW_ADDR) {
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5264 size_t off = offset_in_folio(folio,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5265 (loff_t)index << PAGE_SHIFT);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5266
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5267 folio_zero_segment(folio, off, off + PAGE_SIZE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5268 f2fs_ffs_mark_subrange_uptodate(folio, off,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5269 PAGE_SIZE);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5270 continue;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5271 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5272 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5273
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5274 /*
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5275 * The read extent cache only validates the first and last
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5276 * block of i_ext, so check both the cached and dnode paths.
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5277 */
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5278 if (!f2fs_is_valid_blkaddr(sbi, blkaddr,
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5279 DATA_GENERIC_ENHANCE_READ))
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5280 return -EFSCORRUPTED;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5281
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5282 err = f2fs_submit_page_read_sync(inode, folio, index, blkaddr);
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5283 if (err)
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5284 return err;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5285 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5286
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5287 return 0;
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5288 }
97c64ba5ddb76f7 Nanzhe Zhao 2026-10-28 5289
:::::: The code at line 5196 was first introduced by commit
:::::: 97c64ba5ddb76f7b7b1db4860310b6227278c6b3 f2fs: support regular file buffered writes on large folios
:::::: TO: Nanzhe Zhao <zhaonanzhe@xiaomi.com>
:::::: CC: Jaegeuk Kim <jaegeuk@kernel.org>
--
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-05 0:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05 0:41 [jaegeuk-f2fs:dev-test 25/42] fs/f2fs/data.c:5196:34: warning: variable 'ffs' set but not used kernel test robot
2026-11-05 0:41 ` [f2fs-dev] " kernel test robot
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.