[Yaffs] Reporting of free chunks under testing circumstances

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Ross Younger
Date:  
To: yaffs
Subject: [Yaffs] Reporting of free chunks under testing circumstances
We're testing YAFFS on a simulated NAND device under extreme conditions
(heavy filesystem use and unreasonable numbers of simulated bad blocks
developing). Everything seems pretty stable, by and large; now I want to add
a heuristic to our FS test code which would recognise that the filesystem
was essentially unusable and stop hitting it.

I thought I could do this by noticing that my write had failed then calling
into yaffs_CountFreeChunks() and checking whether the answer was zero.
However, I'm getting widely variable responses, sometimes as many as 9000
supposedly-free chunks on a 32768 chunk device, even though the filesystem
is completely paralysed (1017/1024 blocks retired, reads and writes are
failing and being correctly mapped to EIO in our filesystem layer).

How is CountFreeChunks supposed to interact with blocks going bad?


Ross

-- 
Embedded Software Engineer, eCosCentric Limited.
Barnwell House, Barnwell Drive, Cambridge CB5 8UU, UK.
Registered in England no. 4422071.                  www.ecoscentric.com