|
@@ -773,18 +773,20 @@ static int ocfs2_sb_probe(struct super_block *sb,
|
|
|
if (tmpstat < 0) {
|
|
|
status = tmpstat;
|
|
|
mlog_errno(status);
|
|
|
- goto bail;
|
|
|
+ break;
|
|
|
}
|
|
|
di = (struct ocfs2_dinode *) (*bh)->b_data;
|
|
|
memset(stats, 0, sizeof(struct ocfs2_blockcheck_stats));
|
|
|
spin_lock_init(&stats->b_lock);
|
|
|
- status = ocfs2_verify_volume(di, *bh, blksize, stats);
|
|
|
- if (status >= 0)
|
|
|
- goto bail;
|
|
|
- brelse(*bh);
|
|
|
- *bh = NULL;
|
|
|
- if (status != -EAGAIN)
|
|
|
+ tmpstat = ocfs2_verify_volume(di, *bh, blksize, stats);
|
|
|
+ if (tmpstat < 0) {
|
|
|
+ brelse(*bh);
|
|
|
+ *bh = NULL;
|
|
|
+ }
|
|
|
+ if (tmpstat != -EAGAIN) {
|
|
|
+ status = tmpstat;
|
|
|
break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
bail:
|