It's rare case that sync_inodes_sb() always skips to flush some drity
datas, so it's enough to give extra three more chances to flush data.

Signed-off-by: Chao Yu <[email protected]>
---
 fs/f2fs/f2fs.h  | 2 ++
 fs/f2fs/super.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 3a8e1dcdcd69..cac4c730bf61 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -697,6 +697,8 @@ enum {
 
 #define DEFAULT_RETRY_IO_COUNT 8       /* maximum retry read IO or flush count 
*/
 
+#define MAX_FLUSH_RETRY_COUNT  3       /* maximum flush retry count in 
f2fs_enable_checkpoint() */
+
 /* IO/non-IO congestion wait timeout value, default: 1 jiffies */
 #define        DEFAULT_SCHEDULE_TIMEOUT        1
 
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 5d8b2e812340..9d421a07d2d5 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -2687,7 +2687,7 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info 
*sbi)
 
 static int f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
 {
-       int retry = DEFAULT_RETRY_IO_COUNT;
+       int retry = MAX_FLUSH_RETRY_COUNT;
        long long start, writeback, end;
        int ret;
        struct f2fs_lock_context lc;
-- 
2.49.0



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to