Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3a4b7d8 authored by Chengguang Xu via Linux-f2fs-devel's avatar Chengguang Xu via Linux-f2fs-devel Committed by Jaegeuk Kim
Browse files

f2fs: mark recovery flag correctly in read_raw_super_block()



On the combination of first fail and second success,
we will miss to mark recovery flag because currently
we reuse err variable in the loop.

Signed-off-by: default avatarChengguang Xu <cgxu519@zoho.com.cn>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 9b8edaf7
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2961,6 +2961,7 @@ static int read_raw_super_block(struct f2fs_sb_info *sbi,
			f2fs_err(sbi, "Unable to read %dth superblock",
				 block + 1);
			err = -EIO;
			*recovery = 1;
			continue;
		}

@@ -2970,6 +2971,7 @@ static int read_raw_super_block(struct f2fs_sb_info *sbi,
			f2fs_err(sbi, "Can't find valid F2FS filesystem in %dth superblock",
				 block + 1);
			brelse(bh);
			*recovery = 1;
			continue;
		}

@@ -2982,10 +2984,6 @@ static int read_raw_super_block(struct f2fs_sb_info *sbi,
		brelse(bh);
	}

	/* Fail to read any one of the superblocks*/
	if (err < 0)
		*recovery = 1;

	/* No valid superblock */
	if (!*raw_super)
		kvfree(super);