オレ「truncateで作ったファイルはまだブロックが確保されてないからduで見ると0なんだよ」Mac「」
- gtruncate –size 100m 100m
- gdu -sh 100m
- 100M 100m
え? これに気づいたのは、会社の仕事中でした。Linuxで400Gのmkfs済みイメージをtarでholeつきファイルとして作って持ってきて(ext4だと27MBくらいになる)、ちょっと展開して中身を…と思ったらものすごい勢いでNo space left on device。Ctrl-cとかCtrl-z、kill -9でも落ちないのね。 実際これはbsdtarでもgtarでもダメだった。bsdtarはzombieになったので書き込みエラーでexitしようとしたんだろうけど、バッファがflushできなくて死にきれなかった。gtarはもっとひどくて、どうやっても殺せなくて、結局リブートしたよ… まあ2回試すのがバカって話もあるんだけど、まさかファイルシステムが対応してないと思わないじゃん? で、最初はbsdtarが悪いと思ったのよ。そしたらgtarまでダメで、リブートかけてトイレに行っている間に、ああそうか、これはMacのHFSが悪いんだなと悟ったわけ。ただ、この状況で無事にリブートできたところは偉い。Linuxならリブートが刺さってるところだよね。 その他。