ext4: return EIO on read error in ext4_find_entry
Previously, a read error would be ignored and we would eventually return NULL from ext4_find_entry, which signals "no such file or directory". We should be returning EIO. Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
This commit is contained in:
parent
9ce0151a47
commit
6febe6f253
|
@ -1442,11 +1442,11 @@ restart:
|
||||||
goto next;
|
goto next;
|
||||||
wait_on_buffer(bh);
|
wait_on_buffer(bh);
|
||||||
if (!buffer_uptodate(bh)) {
|
if (!buffer_uptodate(bh)) {
|
||||||
/* read error, skip block & hope for the best */
|
|
||||||
EXT4_ERROR_INODE(dir, "reading directory lblock %lu",
|
EXT4_ERROR_INODE(dir, "reading directory lblock %lu",
|
||||||
(unsigned long) block);
|
(unsigned long) block);
|
||||||
brelse(bh);
|
brelse(bh);
|
||||||
goto next;
|
ret = ERR_PTR(-EIO);
|
||||||
|
goto cleanup_and_exit;
|
||||||
}
|
}
|
||||||
if (!buffer_verified(bh) &&
|
if (!buffer_verified(bh) &&
|
||||||
!is_dx_internal_node(dir, block,
|
!is_dx_internal_node(dir, block,
|
||||||
|
|
Loading…
Reference in New Issue