i've seen the same problems with a fat32 partition image after an unclean shutdown. reading certain files would cause the filesystem to spontaneously become read-only with error messages similar to the ones you list below.
my solution was to copy all the files off, rename the offending directory, and copy the relevant files back. unfortunately i can't remove the "dead" folder, as attempting to remove it sets the filesystem read-only :(
John Richard Moser wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I'm using Ubuntu Linux Hoary
[EMAIL PROTECTED]:~# uname -a Linux icebox 2.6.10-5-686 #1 Tue Mar 15 15:16:01 UTC 2005 i686 GNU/Linux
[EMAIL PROTECTED]:~# fsck.vfat -r /dev/sda1 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /\uffffSCK0000.REN Duplicate directory entry. First Size 0 bytes, date 19:03:36 Mar 04 1980 Second Size 0 bytes, date 19:00:00 Dec 31 1979 1) Drop first 2) Drop second 3) Rename first 4) Rename second 5) Auto-rename first 6) Auto-rename second ? 5 Renamed to FSCK0000.REN Perform changes ? (y/n) y /dev/sda1: 187 files, 167150/246288 clusters [EMAIL PROTECTED]:~# fsck.vfat -r /dev/sda1 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /dev/sda1: 187 files, 167150/246288 clusters
Now the FS is clean.
[EMAIL PROTECTED]:~# mount /dev/sda1 /media/usbdisk/ [EMAIL PROTECTED]:~# vim /media/usbdisk/a.txt [EMAIL PROTECTED]:~# rm /media/usbdisk/a.txt
Created, deleted a.txt
[EMAIL PROTECTED]:~# umount /media/usbdisk/ [EMAIL PROTECTED]:~# fsck.vfat -r /dev/sda1 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /\uffff.\000a\000.\000t.\000x\000 Bad file name. 1) Drop file 2) Rename file 3) Auto-rename 4) Keep it
Does that say a.txt?
? 1 /\uffffa\000.\000t\000x.\000t\000 Bad file name. 1) Drop file 2) Rename file 3) Auto-rename 4) Keep it ? 1 /\uffff.\000a\000.\000t.\000x\000 Start cluster beyond limit (7798784 > 246289). Truncating file. /\uffff.\000a\000.\000t.\000x\000 File size is 4294967295 bytes, cluster chain length is 0 bytes. Truncating file to 0 bytes. /\uffffa\000.\000t\000x.\000t\000 Start cluster beyond limit (4294901760 > 246289). Truncating file. /\uffffa\000.\000t\000x.\000t\000 File size is 4294967295 bytes, cluster chain length is 0 bytes. Truncating file to 0 bytes. /\uffff.TXT Contains a free cluster (167160). Assuming EOF. /\uffff.TXT File size is 5 bytes, cluster chain length is 0 bytes. Truncating file to 0 bytes. Perform changes ? (y/n) y
I didn't pull the disk out at all, or anything. Just umounted and remounted and made/removed a file. Also. . .
/dev/sda1: 189 files, 167150/246288 clusters [EMAIL PROTECTED]:~# fsck.vfat -r /dev/sda1 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /\uffff.\000a\000.\000t.\000x\000 Bad file name. 1) Drop file 2) Rename file 3) Auto-rename 4) Keep it ? 3 Renamed to FSCK0001.REN /\uffffa\000.\000t\000x.\000t\000 Bad file name. 1) Drop file 2) Rename file 3) Auto-rename 4) Keep it ? 3 Renamed to FSCK0002.REN Perform changes ? (y/n) y /dev/sda1: 191 files, 167150/246288 clusters [EMAIL PROTECTED]:~# fsck.vfat -r /dev/sda1 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /dev/sda1: 191 files, 167150/246288 clusters
It appears dosfsck may not be working quite right. I've taken this into account, hence the second pass after each fsck. This is either a dosfsck issue, a usb-storage issue for the PNY compact flash drive, or an issue with vfat itself.
So either LKML needs to fix the drivers, or Ubuntu needs to upgrade/fix dosfsck or some patch they've applied to the kernel.
- -- All content of all messages exchanged herein are left in the Public Domain, unless otherwise explicitly stated.
Creative brains are a valuable, limited resource. They shouldn't be wasted on re-inventing the wheel when there are so many fascinating new problems waiting out there. -- Eric Steven Raymond -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCQePohDd4aOud5P8RAhxRAJ9ydXWfLZbu0r/B4rY6zhaWScR3rQCfVNMY lGsqNpIPDIBREqIWGVlQJFo= =1Nlg -----END PGP SIGNATURE----- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/