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: Chengguang Xu <cgxu519@zoho.com.cn>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
                        f2fs_err(sbi, "Unable to read %dth superblock",
                                 block + 1);
                        err = -EIO;
+                       *recovery = 1;
                        continue;
                }
 
                        f2fs_err(sbi, "Can't find valid F2FS filesystem in %dth superblock",
                                 block + 1);
                        brelse(bh);
+                       *recovery = 1;
                        continue;
                }
 
                brelse(bh);
        }
 
-       /* Fail to read any one of the superblocks*/
-       if (err < 0)
-               *recovery = 1;
-
        /* No valid superblock */
        if (!*raw_super)
                kvfree(super);