mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
f2fs: fix to calculate dirty data during has_not_enough_free_secs()
In lfs mode, dirty data needs OPU, we'd better calculate lower_p and
upper_p w/ them during has_not_enough_free_secs(), otherwise we may
encounter out-of-space issue due to we missed to reclaim enough
free section w/ foreground gc.
Fixes: 36abef4e79 ("f2fs: introduce mode=lfs mount option")
Cc: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
@@ -668,8 +668,7 @@ static inline void __get_secs_required(struct f2fs_sb_info *sbi,
|
||||
unsigned int dent_blocks = total_dent_blocks % CAP_BLKS_PER_SEC(sbi);
|
||||
unsigned int data_blocks = 0;
|
||||
|
||||
if (f2fs_lfs_mode(sbi) &&
|
||||
unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED))) {
|
||||
if (f2fs_lfs_mode(sbi)) {
|
||||
total_data_blocks = get_pages(sbi, F2FS_DIRTY_DATA);
|
||||
data_secs = total_data_blocks / CAP_BLKS_PER_SEC(sbi);
|
||||
data_blocks = total_data_blocks % CAP_BLKS_PER_SEC(sbi);
|
||||
|
||||
Reference in New Issue
Block a user