This fix combines the space check for data_blocks and dent_blocks when
verifying HOT_DATA segment capacity, preventing potential insufficient
space issues during checkpoint.

Fixes: bf34c93d2645 ("f2fs: check curseg space before foreground GC")
Signed-off-by: mason.zhang <masonzhang.linu...@gmail.com>
---
 fs/f2fs/segment.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index db619fd2f51a..d8dae0049b6a 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -649,7 +649,7 @@ static inline bool has_curseg_enough_space(struct 
f2fs_sb_info *sbi,
                                get_ckpt_valid_blocks(sbi, segno, true);
        }
 
-       if (dent_blocks > left_blocks)
+       if (dent_blocks + data_blocks > left_blocks)
                return false;
        return true;
 }
-- 
2.48.1



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

Reply via email to