[Yaffs-archive] Re: YAFFS partial fix for disk full condition

Luc Van Oostenryck luc.vanoostenryck@easynet.be
Fri, 23 Aug 2002 00:06:41 +0200


Charles Manning wrote:
> Hi yaffsers
> 
> I have just checked in a fix for the looping when disk full problem. 
> Basically, yaffs_fs.c was not reporting back ENOSPC to Linux. Bad, bad...
> 
> There is a remaining issue though that you still get funny directory entries 
> called /mnt/yaffs/objnnn. These names are created from the objectId on the 
> fly by yaffs when it detects a directory entry but can't find an associated 
> chunk on NAND to get a real name. Fixing this is a bit more than a 30 minute 
> turnaround. I'll put it on the todo.
> 
> Thanx to Christian Gan for pointing out the issue.
> 
> Sidebar: This is where having both a WinCE and Linux version pays off. Over 
> the last few weeks I've been pounding disk full hard on a WinCE box. Since 
> yaffs_guts is portable, I had a good hunch therefore that the problem was in 
> yaffs_fs.c returning the correct failure code.
> 
> -- Charles
> 

I've tested the disk full problem:
two problems remains:

1) when the disk is almost full, the GC seems to select block 1, 2 and 3 again and again

	block 1:	352 times
	block 2:	287 times
	block 3:	313 times
	block 4-125:	 55 times
	block 126:	141 times
	block 127:	 10 times
    Is this an artefact of my worload or is it a real problem ?
    I can't see the code for the infrequent random block selection, is it implemented ?

2) after the write finally return -ENOSPC, the deletion of the file cause an Linux kernel oops.
    I will investigate this tomorrow.


Luc Van Oostenryck







---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.