|
Rockbox mail archiveSubject: Re: error in disk write codeRe: error in disk write code
From: Greg Haerr <greg_at_censoft.com>
Date: Fri, 8 Nov 2002 12:05:57 -0700 : "Panic: Cluster chain too short" : : This happens only when the disk is formatted with : sectors per cluster = 1. (./fat ds 0, byte 14 = 01) I have fixed the problem. The cache_fat_sector code is incorrect. When the hash FAT cache entry is inuse and dirty, but required by a new FAT hash, the cache_fat_sector code writes out the first FAT entry using the NEW sector number, rather than the cached sector value. To fix change the line: if (ata_write_sector(secnum + ... to if(ata_write_sector(fat_cache_sectors[cache_index].secnum + ... And the filesystem will work properly for any file size that requires > 4092 clusters. I was incorrect in an earlier statement: the read code does work in the current CVS code because no FAT cache entries are ever modified, so the wrong sector doesn't ever get written... Regards, Greg Received on 2002-11-08 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |