[U-Boot] Load from ext4 can fail or get incoherent data because of the journaling

Hi all,
Some system really need ext4 journal_data option to avoid any inconsistency on his filesystem in case of unexpected power failure. While journal_data greatly improved the reliability of the system from the Linux kernel point of view, to my surprise this has increase the failure rate of U-Boot. Sometime a file is not found by U-Boot (notably the armbianEnv.txt file in my case) or his content can even be from an other file ! The most frequently message in the later case is:
** File not found /boot/dtb/overlay/-fixup.scr **
Because the ${overlay_prefix} variable was not imported from the corrupted read of the armbianEnv.txt file. The file is read correctly by the Linux kernel.
I have found that others U-Boot users have spot this message, but to my knowledge this has not be linked to the failure of U-Boot to use the ext4 journal. I think that the problem can affect any ext4 files loaded by U-Boot that have part in the ext4 journal, making a serious issue on the U-Boot reliability if I am right. From my understanding the ext4_journal.c code into U-Boot only handle write transactions to the ext4 journal and is not used while reading a file.
I there someone with some experience in that field that can assert / reject / help about my observation ?
Best regards Jean-Christian de Rivaz
participants (1)
-
Jean-Christian de Rivaz