Re: [Yaffs] about retiring a block

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: zheng shi
Date:  
To: venu
CC: Charles Manning, YAFFS
Subject: Re: [Yaffs] about retiring a block
But I can't figure out the execution sequence of making sure block is
erased before block retiring is called.
You may grep all yaffs_erase_block which is called only inside
yaffs_block_became_dirty or yaffs_retire_block.
But for yaffs_block_became_dirty, here's the code extracted from yaffs_guts.c:
2342         if (!bi->needs_retiring) {
2343                 yaffs2_checkpt_invalidate(dev);
2344                 erased_ok = yaffs_erase_block(dev, block_no);
2345                 if (!erased_ok) {
2346                         dev->n_erase_failures++;
2347                         yaffs_trace(YAFFS_TRACE_ERROR |
YAFFS_TRACE_BAD_BLOCKS,
2348                           "**>> Erasure failed %d", block_no);
2349                 }
2350         }


On Thu, Dec 15, 2011 at 2:26 PM, venu <> wrote:
> Ideally erase operation should happen before marking block as BAD.
> Without that we cannot ensure that the block will be really marked BAD.
>
> ________________________________
> From: zheng shi <>
> To: YAFFS <>
> Cc: Charles Manning <>
> Sent: Thursday, 15 December 2011 11:38 AM
> Subject: [Yaffs] about retiring a block
>
> Hi,
> I found it strange that there's no block erase operation before
> calling yaffs_mark_bad.
> But in mtd_utils/nandwrite.c, the block is erased before marking bad.
>
> Is it the expected behavior?
>
> Thanks!
>
> --
> Regards, Shizheng
>
> _______________________________________________
> yaffs mailing list
>
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>
>




--
Regards, Shizheng