diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 41b38e557046..eb466a11d9d7 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -5203,11 +5203,15 @@ try_onemore: } } else { err = f2fs_recover_fsync_data(sbi, true); - - if (!f2fs_readonly(sb) && err > 0) { - err = -EINVAL; - f2fs_err(sbi, "Need to recover fsync data"); - goto free_meta; + if (err > 0) { + if (!f2fs_readonly(sb)) { + f2fs_err(sbi, "Need to recover fsync data"); + err = -EINVAL; + goto free_meta; + } else { + f2fs_info(sbi, "drop all fsynced data"); + err = 0; + } } }