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: 36abef4e796d ("f2fs: introduce mode=lfs mount option")
Cc: Daeho Jeong <daehoje...@google.com>
Signed-off-by: Chao Yu <c...@kernel.org>
---
 fs/f2fs/segment.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 2123645cf175..5e2ee5c686b1 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -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);
-- 
2.49.0



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to