dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: error in disk write code

Re: error in disk write code

From: Greg Haerr <>
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 + ...


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...


Received on 2002-11-08

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy