This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
[PATCH] Bug in FAT32 filesystem
- From: =?big5?q?=B7=A8=B6=AE=B6W?= <vlsi235 at yahoo dot com dot tw>
- To: ecos-patches at sourceware dot org
- Date: Wed, 31 Jan 2007 13:23:55 +0800 (CST)
- Subject: [PATCH] Bug in FAT32 filesystem
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com.tw; h=X-YMail-OSG:Received:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=x5WqX/qL47YGPLgZ4SDinKo+++ALfphMLEhqNITrphkpdhx9zP8FHrI/K7cn52nSkEmAb7cwBCzMjHNGtDVmgM8S5PkTq0Qk1ab52nFpVUmR90vMeG4N8okJnrkZUzIYNfMgjOZW+rZbw0BgCg4r9/Ie7GX1nA9KcphhWBmVUgA=;
- Reply-to: a8850607 at stmail dot fju dot edu dot tw
--- ./ecos/packages/fs/fat/current/src/fatfs_supp.c
2005-08-04 04:40:48.000000000 +0800
+++ fatfs_supp.c 2007-01-31 13:21:06.000000000 +0800
@@ -2166,7 +2166,10 @@ fatfs_delete_file(fatfs_disk_t
*disk, fa
}
// Free file clusters
- free_cluster_chain(disk, raw_dentry.cluster);
+ //free_cluster_chain(disk, raw_dentry.cluster);
+ //Fix bug in FAT32.
+ //In FAT32, the entry's start cluster is 32bit
and it's composed of cluster_HI and cluster
+ free_cluster_chain(disk, raw_dentry.cluster |
raw_dentry.cluster_HI << 16);
raw_dentry_set_deleted(disk, &raw_dentry);
err = write_raw_dentry(disk, &file->disk_pos,
&raw_dentry);
return err;
___________________________________________________
您的生活即時通 - 溝通、娛樂、生活、工作一次搞定!
http://messenger.yahoo.com.tw/