やっぱLinux FAT32 (vfat) ドライバのバグだと思うんだが

id:flalin:20110205:1296890520 の続き:

$ dmesg|tail -n 30
(略
[967071.528058] usb 1-6: new high speed USB device using ehci_hcd and address 11
[967071.671125] usb 1-6: New USB device found, idVendor=0bda, idProduct=0158
[967071.671134] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[967071.671140] usb 1-6: Product: USB2.0-CRW
[967071.671145] usb 1-6: Manufacturer: Generic
[967071.671150] usb 1-6: SerialNumber: 20071114173400000
[967071.676588] scsi7 : usb-storage 1-6:1.0
[967072.679904] scsi 7:0:0:0: Direct-Access     Generic- Multi-Card       1.00 PQ: 0 ANSI: 0 CCS
[967073.270665] sd 7:0:0:0: [sdc] 7744512 512-byte logical blocks: (3.96 GB/3.69 GiB)
[967073.271399] sd 7:0:0:0: [sdc] Write Protect is off
[967073.271407] sd 7:0:0:0: [sdc] Mode Sense: 03 00 00 00
[967073.273285] sd 7:0:0:0: [sdc] No Caching mode page present
[967073.273293] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[967073.277141] sd 7:0:0:0: [sdc] No Caching mode page present
[967073.277151] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[967073.281217]  sdc: sdc1
[967073.285055] sd 7:0:0:0: [sdc] No Caching mode page present
[967073.285069] sd 7:0:0:0: [sdc] Assuming drive cache: write through
[967073.285080] sd 7:0:0:0: [sdc] Attached SCSI removable disk
[967073.727495] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
$ mount
(略
/dev/sdc1 on /media/usb0 type vfat (rw,noexec,nosuid,nodev,sync,noatime,dmask=0000,fmask=0111)
$ ls /media/usb0
many/  many1/
$ cd /media/usb0/many1
$ /bin/ls -f|wc -l
65536
$ rm 65534.DAT
$ touch 65534.DAT
touch: cannot touch `65534.DAT': デバイスに空き領域がありません

こんなの絶対おかしいよ
ディレクトmany 内の65534個の通常ファイルはWindows XP SP3上でRubyスクリプトで生成した)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux testing (wheezy)
Release:        testing
Codename:       wheezy
$ uname -a
Linux zbox 2.6.38-2-amd64 #1 SMP Sun May 8 13:51:57 UTC 2011 x86_64 GNU/Linux

友人に「使いもせずにHaskellをdisるなんて! 1万行くらい書いてからじゃないと」って煽られてるので,FAT32バイスをダンプするツールをクリーンルーム実装してみっかな.(本当はもう少しスマートに,Linuxファイルシステムのソースをコピってそのままユーザ空間でリンクし,ファイルシステムの中をコマンドでいじれるようなツールを書きたい)