UBIFS recovery stops

Anatolij Gustschin agust at denx.de
Mon Feb 21 10:55:17 EST 2011


When running power cut test on our NOR flash we are seeing
UBIFS recovery process stopping due to CRC errors in one
data node. A few data bytes starting after common header
node are corrupted. Previous data node and also subsequent
data nodes in the affected LEB seems to be correct, they
do not have corrupted bytes, CRC checksum is okay there.
My understanding is that UBI/UBIFS writes sequentially to
the LEB and this observed corruption cannot be a result
of interrupted last write operation before power cut. I've
attached a file with the full kernel log with UBI/UBIFS
debug messages enabled (since it is quite big). The issue
is quite hard to reproduce, it appears after running the
test several hours or even days.

The small corrupted data area in the flash seems to result
from an uncompleted write operation: repeated reading from
this area shows, that the bit values flip.

Mounting the file system with "no_chk_data_crc" option
doesn't work also, since during recovery the CRC checking
of data nodes is enforced. Thus, we end up with an unusable
device. Shouldn't it be possible to mount the file system
even if there are some corrupted data bytes?

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ubifs-cfi-nor-failed-recovery.txt
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20110221/88fcd883/attachment-0001.txt>

More information about the linux-mtd mailing list