Skip to content
Snippets Groups Projects
user avatar
Thomas Fitzsimmons authored
If the ext3 journal gets out of sync with what is written on disk, for
example because of an unexpected power cut, ext4fs_read_file can
return an all-zero directory entry.  In that case, ext4fs_iterate_dir
would infinite loop.

This patch detects when a directory entry's direntlen member is 0 and
returns a failure status, which breaks out of the infinite loop.  As a
result, U-Boot will not find files that may subsequently be recovered
when the journal is replayed.

This is better behaviour than hanging in an infinite loop, but as a
further improvement maybe U-Boot could interpret the ext3 journal and
actually find the unsynced entries.

Signed-off-by: default avatarThomas Fitzsimmons <fitzsim@cisco.com>
Reviewed-by: default avatarStefan Roese <sr@denx.de>
54d68e93
History
Name Last commit Last update
..