Hi Amol,
 
 I have seen the latest Yaffs2 code  , As you said
 
 I guess ,
 
  dev->nChunksPerBlock = mtd->erasesize / mtd->writesize;

 

                    will  override

  

   dev->nChunksPerBlock = YAFFS_CHUNKS_PER_BLOCK

 
 in YAFFS2.
 
 
With Regards
  Moorthy
 
 

> From: yaffs-request@lists.aleph1.co.uk
> Subject: yaffs Digest, Vol 39, Issue 9
> To: yaffs@lists.aleph1.co.uk
> Date: Tue, 19 Aug 2008 12:00:07 +0100
>
> Send yaffs mailing list submissions to
> yaffs@lists.aleph1.co.uk
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
> or, via email, send a message with subject or body 'help' to
> yaffs-request@lists.aleph1.co.uk
>
> You can reach the person managing the list at
> yaffs-owner@lists.aleph1.co.uk
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of yaffs digest..."
>
>
> Today's Topics:
>
> 1. yaffs_tagscompat aliasing problem (James Kehl)
> 2. Yaffs2 and MLC NAND with Block size 256K (Amol Lad)
> 3. Re: Yaffs2 and MLC NAND with Block size 256K (James Kehl)
> 4. notification about data error during read (Evgeny Habinsky)
> 5. Can't open files under "/" (Evgeny Habinsky)
> 6. Re: Yaffs2 and MLC NAND with Block size 256K (Amol Lad)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 19 Aug 2008 16:11:11 +1000
> From: "James Kehl" <jamesk@edmi.com.au>
> Subject: [Yaffs] yaffs_tagscompat aliasing problem
> To: <yaffs@lists.aleph1.co.uk>
> Message-ID:
> <DA07ABAEC04C914DB72E4885251CCF8AB474A2@MERCURY.edmi.local>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi all,
>
> The Yaffs1 tag ECC routine runs into aliasing problems when I compile it
> with ARM GCC (CodeSourcery 2008q1-126), and causes the check routine to
> flip random bits. I attach a fix (a slightly cleaner fix than
> -fno-strict-aliasing!)
>
> There are some other problems with the yaffs1 tag ECC: it can't cope
> with a single bit error in the ECC data itself (it either causes
> miscorrections, or makes the check routine return -1), and it only ever
> uses 7 bits out of the 12 provided for ECC. Yaffs2 probably doesn't have
> these problems, and I think Yaffs1 folk wouldn't want backwards
> compatibility broken, so these remain unfixed :)
>
> (This is unrelated to the problems I was seeing under mingw, btw)
>
> James
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: yaffs_tagscompat-aliasing.patch
> Type: application/octet-stream
> Size: 826 bytes
> Desc: yaffs_tagscompat-aliasing.patch
> Url : http://lists.aleph1.co.uk/lurker/list/yaffs.html/attachments/20080819/75d129ff/attachment.obj
>
> ------------------------------
>
> Message: 2
> Date: Tue, 19 Aug 2008 11:57:58 +0530
> From: "Amol Lad" <amol.lad@gmail.com>
> Subject: [Yaffs] Yaffs2 and MLC NAND with Block size 256K
> To: yaffs@lists.aleph1.co.uk
> Message-ID:
> <8c675e9b0808182327g35cafc21k61b45f05b9f03901@mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hi,
>
> I'm using a year old snapshot of Yaffs2 cvs tree. I want to know if
> there are any assumptions about the block size for 2K page NAND. For
> example, Samsung K9F4G08U0A is SLC NAND with 2K page size and 128K
> block size. Samsung K9G4G08U0A is MLC NAND with 2K page size and 256K
> block size (both have same device id - 0xDC)
>
> So, are there any assumptions about block size for 2K page ? or 256K
> block size will work as is..
>
> >From README-linux: "Block - Eraseable unit. 64 Pages. (128K on 2K
> NAND, 32K on 512b NAND)"
>
> Thanks
> Amol
>
>
>
> ------------------------------
>
> Message: 3
> Date: Tue, 19 Aug 2008 17:04:56 +1000
> From: "James Kehl" <jamesk@edmi.com.au>
> Subject: Re: [Yaffs] Yaffs2 and MLC NAND with Block size 256K
> To: "Amol Lad" <amol.lad@gmail.com>, <yaffs@lists.aleph1.co.uk>
> Message-ID:
> <DA07ABAEC04C914DB72E4885251CCF8AB474C3@MERCURY.edmi.local>
> Content-Type: text/plain; charset="us-ascii"
>
> > -----Original Message-----
> > From: yaffs-bounces@lists.aleph1.co.uk [mailto:yaffs-
> > bounces@lists.aleph1.co.uk] On Behalf Of Amol Lad
> > Sent: Tuesday, 19 August 2008 4:28 PM
> > To: yaffs@lists.aleph1.co.uk
> > Subject: [Yaffs] Yaffs2 and MLC NAND with Block size 256K
> >
> > Hi,
> >
> > I'm using a year old snapshot of Yaffs2 cvs tree. I want to know if
> > there are any assumptions about the block size for 2K page NAND. For
> > example, Samsung K9F4G08U0A is SLC NAND with 2K page size and 128K
> > block size. Samsung K9G4G08U0A is MLC NAND with 2K page size and 256K
> > block size (both have same device id - 0xDC)
> >
> > So, are there any assumptions about block size for 2K page ? or 256K
> > block size will work as is..
> >
>
> The define YAFFS_CHUNKS_PER_BLOCK (from yaffs_guts.h) might be what
> you're looking for. That, or dev->nChunksPerBlock if you're using
> Yaffs-Direct.
>
> If you've got no way of knowing whether it's a 128K block size or a 256K
> block size, then you might be best off telling Yaffs to use a 256K block
> size, and tweaking your NAND driver to send two erase commands (so 128K
> NAND will behave like 256K NAND).
>
> James
>
>
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 19 Aug 2008 10:59:11 +0300
> From: "Evgeny Habinsky" <evgenyh@Surf-com.com>
> Subject: [Yaffs] notification about data error during read
> To: <yaffs@lists.aleph1.co.uk>
> Message-ID:
> <17E66600668C05419793F4C955966EF55425EA@everest_n.Surfdom.dom>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi!
>
> I use YAFFS via direct interface.
>
> When YAFFS encounters unrecoverable ECC error during file read it
> retires the block but the application gets no notification from the file
> system that the file data is corrupted (except for printed error
> message).
>
> One could pass such notification via global variable from directly from
> yaffs_ReadChunkFromNAND() to application. I'd like to know how do you
> deal with this problem or think it should be dealt with.
>
> Thanks.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.aleph1.co.uk/lurker/list/yaffs.html/attachments/20080819/62f0de4f/attachment.htm
>
> ------------------------------
>
> Message: 5
> Date: Tue, 19 Aug 2008 11:00:54 +0300
> From: "Evgeny Habinsky" <evgenyh@Surf-com.com>
> Subject: [Yaffs] Can't open files under "/"
> To: <yaffs@lists.aleph1.co.uk>
> Message-ID:
> <17E66600668C05419793F4C955966EF55425EB@everest_n.Surfdom.dom>
> Content-Type: text/plain; charset="us-ascii"
>
> I found that after upgrading to the latest version of YAFFS I'm no
> longer able to create files in root directory. My flash is mounted as
> "/" and it seems like yaffsfs_FindDevice() does not allow to open files
> directly under "/".
>
> I am trying to open /testfile for writing. Before matching the file
> prefix to YAFFS device prefix yaffsfs_FindDevice() strips leading
> slashes from both file name and the device prefix. This means it will
> try to match "testfile" to "\0" which fails.
>
> Was this change introduced intentionally to prevent mounting under root?
>
> Regards
> Evgeny Habinsky
>
>
>
> ------------------------------
>
> Message: 6
> Date: Tue, 19 Aug 2008 14:03:33 +0530
> From: "Amol Lad" <amol.lad@gmail.com>
> Subject: Re: [Yaffs] Yaffs2 and MLC NAND with Block size 256K
> To: "James Kehl" <jamesk@edmi.com.au>
> Cc: yaffs@lists.aleph1.co.uk
> Message-ID:
> <8c675e9b0808190133o2fa8ca1dw9b79294463faf33d@mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> >> So, are there any assumptions about block size for 2K page ? or 256K
> >> block size will work as is..
> >>
> >
> > The define YAFFS_CHUNKS_PER_BLOCK (from yaffs_guts.h) might be what
> > you're looking for. That, or dev->nChunksPerBlock if you're using
> > Yaffs-Direct.
> >
> > If you've got no way of knowing whether it's a 128K block size or a 256K
> > block size, then you might be best off telling Yaffs to use a 256K block
> > size, and tweaking your NAND driver to send two erase commands (so 128K
> > NAND will behave like 256K NAND).
>
> It seems for yaffs2, these parameters are not set using #defines but
> from mtd. Please see below snippet.
>
> yaffs_fs.c:
>
> if (yaffsVersion == 2) {
> ....
> ....
> #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
> dev->nDataBytesPerChunk = mtd->writesize;
> dev->nChunksPerBlock = mtd->erasesize / mtd->writesize;
> #else
> dev->nDataBytesPerChunk = mtd->oobblock;
> dev->nChunksPerBlock = mtd->erasesize / mtd->oobblock;
> #endif
> nBlocks = mtd->size / mtd->erasesize;
>
> dev->startBlock = 0;
> dev->endBlock = nBlocks - 1;
>
> So are above the only parameters ? or some other place also I need to verify.
>
> >
> > James
>
> Thanks
> Amol
>
>
>
> ------------------------------
>
> _______________________________________________
> yaffs mailing list
> yaffs@lists.aleph1.co.uk
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>
>
> End of yaffs Digest, Vol 39, Issue 9
> ************************************



Do you have a You@live.in id yet? Get it now. Sign up for a Windows Live ID Try it!