Hi to all of you, readers, and a happy new year to all of you
I have the exact same problem, verry recently (last month) it happened twice, so let me give you some information about my situation :
1. We can't reproduced it, it happended twice, that's all we know
2. We use yaffs2, with inband tags, on a 2K page NAND flash
3. What we have is a file with a whole page of 0: actually it's an area of 2032 bytes at 0x00 in the file, so I assume tags is 16 bytes in the page on NAND.
4. We didn't dump the raw flash, unfortunatly, so I only have the two "corrupted" files, not the raw FS image for forensic
More about me and this problem:
- it happened really recently, and I jumped in the investigation this week only. I'm new on yaffs and just started reading about it (web site and code source reading), and I'm a bit confused and don't know where to start investigation.
- I'm working on old version of source code, under commercial licence, with our own adjustement/patch I presume, with interface to VxWorks : so there is no way for me to try migrating to latest yaffs version
Since I'm starting investigation, I will try to post here some result if they can be usefull, but for now I will appreciate some help to guide me: if someone can tell me where to start looking in source code, it will be verry nice.
In the same time, I will also look at the NAND driver, maybe issue is lower than the FS
Best regards and many thanks
Patrice
On 2016-05-03 14:03, Bettega Stefano wrote:
> Hi,
> we have a strange problem reading a file. After 8192 bytes there is a hole
> of 512 bytes that reads out as 0, because the page seems to be marked as
> deleted.
>
> static int yaffs_rd_data_obj(struct yaffs_obj *in, int inode_chunk, u8 * > buffer)
>
> returns the whole buffer filled with zeros as chunk seems not to be found
> in file.
>
> If we RAW read NAND, data is almost there, but in spare area we read page_status
> = 0. It seems to be marked as "delete", but how/where yaffs decide to mark
> it is as deletedRe: [Yaffs] yaffs1 page_status = 0