linux/fs/f2fs
Daejun Park 0638a3197c f2fs: avoid unused block when dio write in LFS mode
This patch addresses the problem that when using LFS mode, unused blocks
may occur in f2fs_map_blocks() during block allocation for dio writes.

If a new section is allocated during block allocation, it will not be
included in the map struct by map_is_mergeable() if the LBA of the
allocated block is not contiguous. However, the block already allocated
in this process will remain unused due to the LFS mode.

This patch avoids the possibility of unused blocks by escaping
f2fs_map_blocks() when allocating the last block in a section.

Signed-off-by: Daejun Park <daejun7.park@samsung.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2024-09-11 03:30:27 +00:00
..
acl.c f2fs: Use in_group_or_capable() helper 2024-06-25 11:15:48 +02:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
checkpoint.c f2fs: convert f2fs_handle_page_eio() to use folio 2024-09-06 23:04:47 +00:00
compress.c f2fs: get rid of page->index 2024-09-06 23:04:48 +00:00
data.c f2fs: avoid unused block when dio write in LFS mode 2024-09-11 03:30:27 +00:00
debug.c f2fs: clean up val{>>,<<}F2FS_BLKSIZE_BITS 2024-08-21 00:56:27 +00:00
dir.c f2fs: get rid of page->index 2024-09-06 23:04:48 +00:00
extent_cache.c f2fs: fix several potential integer overflows in file offsets 2024-08-05 20:18:35 +00:00
f2fs.h f2fs: get rid of online repaire on corrupted directory 2024-09-11 03:30:27 +00:00
file.c f2fs: fix to check atomic_file in f2fs ioctl interfaces 2024-09-11 03:30:27 +00:00
gc.c f2fs: use meta inode for GC of COW file 2024-07-10 22:48:20 +00:00
gc.h f2fs: fix to limit gc_pin_file_threshold 2024-05-09 01:03:44 +00:00
hash.c f2fs: don't use casefolded comparison for "." and ".." 2022-05-17 11:19:23 -07:00
inline.c f2fs: convert f2fs_write_inline_data() to use folio 2024-09-06 23:04:47 +00:00
inode.c f2fs: prevent atomic file from being dirtied before commit 2024-09-11 03:30:27 +00:00
iostat.c f2fs: add async reset zone command support 2023-06-12 13:04:09 -07:00
iostat.h f2fs: use iostat_lat_type directly as a parameter in the iostat_update_and_unbind_ctx() 2023-02-07 10:39:28 -08:00
Kconfig fs: add CONFIG_BUFFER_HEAD 2023-08-02 09:13:09 -06:00
Makefile f2fs: separate out iostat feature 2021-08-23 10:25:51 -07:00
namei.c f2fs: get rid of online repaire on corrupted directory 2024-09-11 03:30:27 +00:00
node.c f2fs: get rid of page->index 2024-09-06 23:04:48 +00:00
node.h f2fs: use BLKS_PER_SEG, BLKS_PER_SEC, and SEGS_PER_SEC 2024-02-27 09:41:12 -08:00
recovery.c f2fs update for 6.11-rc1 2024-07-23 15:21:19 -07:00
segment.c f2fs: prevent atomic file from being dirtied before commit 2024-09-11 03:30:27 +00:00
segment.h f2fs: fix start segno of large section 2024-07-09 19:33:50 +00:00
shrinker.c f2fs: add block_age-based extent cache 2022-12-12 14:53:56 -08:00
super.c f2fs: fix to avoid use-after-free in f2fs_stop_gc_thread() 2024-08-21 00:56:28 +00:00
sysfs.c f2fs: Use sysfs_emit_at() to simplify code 2024-08-21 01:02:05 +00:00
verity.c f2fs: fix to use per-inode maxbytes and cleanup 2024-08-15 15:26:40 +00:00
xattr.c f2fs: reduce expensive checkpoint trigger frequency 2024-08-15 15:26:39 +00:00
xattr.h f2fs: move f2fs_xattr_handlers and f2fs_xattr_handler_map to .rodata 2023-10-09 16:24:18 +02:00