Corrupted FileSystem after file write #37
-
Hi there, We are encountering a mysterious bug when writing big file ~130mb to the NAND using reliance-edge API. These are approximately the steps we do to reproduce the bug (fresh NAND from the manufacturer):
We don't get any errors during the writing phase. Interesting enough, if we try again to write the file(after formatting the FS), it goes through successfully without corrupting the FS. That means that we can only replicate the bug once for every fresh NAND we get. It seems that there is something going wrong when we write the NAND after a certain point for the first time ever. We don't experience the bug with small files <10mb. It would be great if you any idea/suggestion on this! Thanks :) Apologies if it looks like a generic question but due to the nature of our work I can't share too many details. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Based on what you have been able to provide, we would suspect that there is something amiss with the storage. You mentioned that you are using NAND. Is this raw NAND or managed NAND (like SD or eMMC)? If you are using raw NAND, what are you using as the FTL? For the error you are seeing during red_mount(), since red_mount() only reads three blocks -- the master block (block #0), the first metaroot (block #1), and the second metaroot (block #2) -- you could walk the code (or use printf() debugging) to determine which of those three reads is failing and why (e.g., is it read I/O or is it failing data verification after it's been read in). We would be interested in taking a look at the settings you have in the redconf.h and redconf.c files. If you would like, we can continue this conversation via email to support@tuxera.com and close out this forum discussion with a summary once you have resolved this issue. |
Beta Was this translation helpful? Give feedback.
-
(More offline discussion happened on this topic, but we believe it to be closed at this time). |
Beta Was this translation helpful? Give feedback.
Based on what you have been able to provide, we would suspect that there is something amiss with the storage. You mentioned that you are using NAND. Is this raw NAND or managed NAND (like SD or eMMC)? If you are using raw NAND, what are you using as the FTL?
For the error you are seeing during red_mount(), since red_mount() only reads three blocks -- the master block (block #0), the first metaroot (block #1), and the second metaroot (block #2) -- you could walk the code (or use printf() debugging) to determine which of those three reads is failing and why (e.g., is it read I/O or is it failing data verification after it's been read in).
We would be interested in taking a look at the setti…