From: Yunlei He <heyunlei@huawei.com>
Date: Thu, 1 Sep 2016 02:14:39 +0000 (+0800)
Subject: f2fs: forbid to do fstrim if fs has some error
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ed214a11830a12a83511eb32415e71f1a0760b8a;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

f2fs: forbid to do fstrim if fs has some error

This patch skip fstrim if sbi set SBI_NEED_FSCK flag

Signed-off-by: Yunlei He <heyunlei@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index ff4b7238f36d..3ff462139436 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1353,6 +1353,12 @@ int f2fs_trim_fs(struct f2fs_sb_info *sbi, struct fstrim_range *range)
 	if (end <= MAIN_BLKADDR(sbi))
 		goto out;
 
+	if (is_sbi_flag_set(sbi, SBI_NEED_FSCK)) {
+		f2fs_msg(sbi->sb, KERN_WARNING,
+			"Found FS corruption, run fsck to fix.");
+		goto out;
+	}
+
 	/* start/end segment number in main_area */
 	start_segno = (start <= MAIN_BLKADDR(sbi)) ? 0 : GET_SEGNO(sbi, start);
 	end_segno = (end >= MAX_BLKADDR(sbi)) ? MAIN_SEGS(sbi) - 1 :