diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 8b106d10afe7..0983b7646444 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -981,6 +981,7 @@ retry_flush_dents: err = sync_dirty_inodes(sbi, DIR_INODE); if (err) goto out; + cond_resched(); goto retry_flush_dents; } @@ -996,6 +997,7 @@ retry_flush_dents: err = f2fs_sync_inode_meta(sbi); if (err) goto out; + cond_resched(); goto retry_flush_dents; } @@ -1010,6 +1012,7 @@ retry_flush_nodes: f2fs_unlock_all(sbi); goto out; } + cond_resched(); goto retry_flush_nodes; }