Whamcloud - gitweb
e2fsck: fix ".." more gracefully if possible
authorAndreas Dilger <adilger@whamcloud.com>
Mon, 31 May 2021 23:31:23 +0000 (17:31 -0600)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 6 Jul 2021 19:43:21 +0000 (15:43 -0400)
commit63f44aafb1f20f8dffdede1e824ce8cbf252bbfc
tree24f19d2db5e03c987b59016bf4baf895018668b8
parenta39e58bab602dc39cf263954c4484c8d12bf306c
e2fsck: fix ".." more gracefully if possible

If the "." entry is corrupted, it will be reset in check_dot().
It is possible that the ".." entry can be recovered from the
directory block instead of also resetting it immediately.  If
it appears that there is a valid ".." entry in the block, allow
that to be used, and let check_dotdot() verify the dirent itself.

When resetting the "." and ".." entries, use EXT2_FT_DIR as the
file type instead of EXT2_FT_UNKNOWN for the very common case of
filesystems with the "filetype" feature, to avoid later problems
that can be easily avoided.  This can't always be done, even if
filesystems without "filetype" are totally obsolete, because many
old test images do not have this feature enabled.

Fixup affected tests using the new "repair-test" script that
updates the expect.[12] files from $test.[12].log for the given
tests and re-runs the test to ensure it now passes.

Signed-off-by: Andreas dilger <adilger@whamcloud.com>
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@hpe.com>
Lustre-bug-Id: https://jira.whamcloud.com/browse/LU-14710
Change-Id: Ia5e579bcf31a9d9ee260d5640de6dbdb60514823
Reviewed-on: https://review.whamcloud.com/43858
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/pass2.c
tests/f_baddotdir/expect.1
tests/f_baddotdir/expect.2
tests/f_baddotdir/image.gz
tests/f_dir_bad_csum/expect.1
tests/f_rebuild_csum_rootdir/expect.1
tests/f_resize_inode_meta_bg/expect.1
tests/f_uninit_dir/expect.1
tests/scripts/repair-test [new file with mode: 0755]