fs: ext4: skip journal state if fs has metadata_csum
authorArnaud Ferraris <arnaud.ferraris@collabora.com>
Wed, 22 Apr 2020 10:43:44 +0000 (12:43 +0200)
committerTom Rini <trini@konsulko.com>
Mon, 27 Apr 2020 18:55:29 +0000 (14:55 -0400)
commit7683b11098ded5087138d84e2e85078335a0cb72
tree2bac9cb213c1d23f14c3ff19187a7288177c227c
parentd497821ebf302754ff4cd7265e5945c996e8fc34
fs: ext4: skip journal state if fs has metadata_csum

As u-boot doesn't support the metadata_csum feature, writing to a
filesystem with this feature enabled will fail, as expected. However,
during the process, a journal state check is performed, which could
result in:
  - a fs recovery if the fs wasn't umounted properly
  - the fs being marked dirty

Both these cases result in a superblock change, leading to a mismatch
between the superblock checksum and its contents. Therefore, Linux will
consider the filesystem heavily corrupted and will require e2fsck to be
run manually to boot.

By bypassing the journal state check, this patch ensures the superblock
won't be corrupted if the filesystem has metadata_csum feature enabled.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
fs/ext4/ext4_journal.c