f2fs: forbid to do fstrim if fs has some error
authorYunlei He <heyunlei@huawei.com>
Thu, 1 Sep 2016 02:14:39 +0000 (10:14 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 12 Sep 2016 17:30:40 +0000 (10:30 -0700)
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>
fs/f2fs/segment.c

index ff4b7238f36d333c82503626887c4dc118ecb98b..3ff4621394367409a64c9461a88c0ae8ebaa4da0 100644 (file)
@@ -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 :