ocfs2: fix improper handling of return errno
Previously, if a bad inode was found in ocfs2_iget(), -ESTALE was returned back to the caller anyway. Since commit d2b9d71a2da7 ("ocfs2: check/fix inode block for online file check") can handle with return value from ocfs2_read_locked_inode() now, we know the exact errno returned for us. Link: http://lkml.kernel.org/r/1463970656-18413-1-git-send-email-zren@suse.com Signed-off-by: Eric Ren <zren@suse.com> Reviewed-by: Joseph Qi <joseph.qi@huawei.com> Cc: Mark Fasheh <mfasheh@suse.de> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
d96c84f8d2
Коммит
1f3a437fa0
|
@ -176,12 +176,7 @@ struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno, unsigned flags,
|
|||
}
|
||||
if (is_bad_inode(inode)) {
|
||||
iput(inode);
|
||||
if ((flags & OCFS2_FI_FLAG_FILECHECK_CHK) ||
|
||||
(flags & OCFS2_FI_FLAG_FILECHECK_FIX))
|
||||
/* Return OCFS2_FILECHECK_ERR_XXX related errno */
|
||||
inode = ERR_PTR(rc);
|
||||
else
|
||||
inode = ERR_PTR(-ESTALE);
|
||||
inode = ERR_PTR(rc);
|
||||
goto bail;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче