On Fri, Jan 6, 2017 at 2:19 AM, <
patrice.laporte@schneider-electric.com>
wrote:
> 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.
>
That is almost certainly a missing page of data. My bet is that the
location of those bytes is page aligned (ie. located at a multiple of 2032).
If the tags got corrupted then yaffs would not know where the chunk fits
into a file and when you read the file it would appear as a "hole" which
reads back as zero bytes.
> 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
>
I would certainly check that the ECC is working correctly and all the
driver algorithms are correctly implimented.
>
>
> 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
>
>
> _______________________________________________
> yaffs mailing list
> yaffs@stoneboat.aleph1.co.uk
> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>
>