なんだ。壊れた時のファイルって、全部32768(0x7fff)バイトまでは正常に書き込まれてて、
32769(0x8000)以降がすべて00っていうわかりやすい状態になってるや。
ファイルを送る側のOSはWindows XPだから、基本的に動作は完璧であるとしよう。
ファイルを受け取る側はFreeBSD 5.5のportsから入れたja-samba-3.0.23d,1と。
書き込んでるハードディスクはWindows Meの起動ディスクで何も考えずに
フォーマットした40GB弱のスライスだから、クラスタサイズが32KBの
FAT32フォーマット。
そしてハードディスクの接続はUSB1.1。書き込みはピークでおよそ600KB/s前後。
書き込み直後は正常でも、作業を続けたり、いったんumountして再びmountしたりすると
壊れてるのは、書き込み直後にはディスクキャッシュを見てるから問題ないけど、
書き込み自体は失敗してるから、ディスク内から読み取って使おうとすると
壊れた状態で読み取ってしまうって事なのか。
普通にmv/cp/rmでファイルを動かしてるときは一切壊れないから、Sambaが何か
FreeBSDのFATへの書き込みのバグを発動させてしまうのか…?