09/03/14 14:45:40 NGZaZVb3
>>865
最初のはそうだけど、2つ目が問題なんだわ。
xfsはデフォルトでメタデータが先にコミットされるので、その直後に
クラッシュするとファイルシステムの構造的には不整合はないが、その
メタデータが指しているデータは存在しない。
で、xfsはメタデータがゴミデータを指してる状態で開けると、何が
見えるかわからん(古い/etc/passwdのブロックかもしれん)から
セキュリティ的な問題があるよね、ときちんとメタデータが指している
データを最初はゼロクリアした状態にしている(本来のデータがコミット
されたら当然そちらに付け替える)。
ext3等はデフォルトではデータが先にコミットされるので、2での問題は
生じ得ない。一方、xfsの順序は最高性能を発揮するためで、生まれた時代や
背景を考えると致し方ない。
POSIX的にはfsyncしてない限り、どちらの挙動も問題なしで、fsyncしない
アプリ開発者がPOSIXを理解してないというのが結論になる・・・が、
正直2の書き方って、すごい一般的だよね、さあどうしよう、という状況。
hogehoge > fugafuga && fsync fugafuga.new && mv fugafuga.new fugafuga
とか直していくしかない。Ubuntuだっけ?にfsyncコマンドがあるのは
このためだろうと思われる。
もっとも、ドライブキャッシュがあるとfsyncすら保証してくれないので、
さらにバリア張らないととか延々と話が続くんだけど。
868:login:Penguin
09/03/14 16:28:12 l9ZzVqeQ
blogの翻訳?
869:login:Penguin
09/03/14 19:12:33 ++9sa7SW
一時ファイルに書き込み→名前変更ってのは当たり前の技法だと思ってたけど
そうでもないのかな?
870:login:Penguin
09/03/14 20:08:40 6p4fiq3F
>>869
いや、あたりまえの技法というコンセンサスはとれていた。ゆえにTed Tsoは仕様どおりだ!とか片意地はらずに直すと言っている。という理解
871:login:Penguin
09/03/14 20:11:26 RgsfJUAA
しかしまぁ、仕様通りだから悪くない、と言っても汎用的なFSとしては使えないよなぁ
872:login:Penguin
09/03/14 20:19:32 qHb4tz1u
でもそうやって理想の仕様よりも現実を優先していくとWindowsみたいになるわけだけだが。
一見すると謎仕様すぎて、分かってない連中にボロくそに言われるという。
873:login:Penguin
09/03/14 20:21:09 Fjttua0k
>>867。
なるほど。
>>869もいってるけど、うまく書けたらリネームっていうのは、良くやるやり方なので、
確かにext3の挙動の方が安心できる気がしますね。
結局ext4での書き込みがext3より大幅に遅延するとしても、
ジャーナルに記録されていれば大丈夫な気がするのだが。
874:login:Penguin
09/03/14 20:23:23 2PA7Wxqo
そしてHans Reiser恩赦に
875:login:Penguin
09/03/14 21:23:11 Qv+bO9QY
壊れたメタデータのコミット先を教えるかわりに
FSの破壊を軽減する司法取引だな
876:login:Penguin
09/03/14 21:57:26 wTSiQHD4
ZFSとかFS層の破壊防止を徹底してるから、
これからはそういう設計が定番になるんじゃないかな。
Btrfsはどうなんだろ?
877:login:Penguin
09/03/14 23:59:37 1qF/srTZ
super_operations構造体のメンバ
freeze_fsやunfreeze_fsってwrite_super_lockfsやunlockfsから名前変えたのか?何故に・・
878:login:Penguin
09/03/15 10:02:11 PCGBiEcT
>>872
これは現場ではうまくいっていたけど理想的な方法ではないのを、改めているのだと思うぞ。
879:login:Penguin
09/03/15 10:18:44 xjkBDfQM
>>877
きまぐれ。
880:login:Penguin
09/03/15 19:42:41 PU06YtSt
もう名前変更しなくていいようにメンバは
struct struct0001_s {
member0001_t member0001;
member0002_t member0002;
member0003_t member0003;
...
として意味は仕様書と帳票で管理すべし。これならコードで
書く内容も迷うことが少なくていいし、順序がずれたらABI破壊バグと
すぐわかる。
881:login:Penguin
09/03/15 20:01:52 mnUY72EV
>>879
だったら やめて ちょうだい
本気で好きになりそうだから
あなたの前では きれいでいたいし
882:login:Penguin
09/03/15 20:31:39 ReDUN6Ol
>>876
btrfsはZFSと同じくCOWで書くから、この問題は起こらない
883:login:Penguin
09/03/15 20:34:14 kmO3PCzB
btrfsはなんでaddressingを128bitにしなかったの?ZFSに負けちゃうよ
884:login:Penguin
09/03/15 20:56:32 LgaDmqJ8
>>881
吹いた
885:login:Penguin
09/03/15 22:13:07 VfSmlfyi
デ♥フ♥ラ♥グ
886:login:Penguin
09/03/15 23:37:34 mnUY72EV
>>884
歌詞の一部です 若かった昔を思い出させる
今夜のナンバー 1曲目は
長渕剛 素直
URLリンク(www.youtube.com)
887:login:Penguin
09/03/16 01:59:21 Gwa/wpQE
>>883
btr2fs誕生のフラグです
888:login:Penguin
09/03/16 02:03:51 08WqhxTZ
>>883
アドレスが128bitだとIPv6を連想して不吉だから
889:login:Penguin
09/03/16 15:19:00 fRtMFqd9
マジレスするとVFSが対応していない。
890:login:Penguin
09/03/16 15:31:04 FfCxFL0P
ext3は罪な奴だな
fsyncを徹底すると遅すぎて使い物にならないし
fsyncをしなくても十分安全だから
fsync無しの更新を一般化させてしまった
ext4も、data=orderedがデフォルトで安全なはずなんだけどなぁ
遅延アロケーションはジャーナルのコミットを考慮しない言うのか
891:login:Penguin
09/03/16 16:49:59 TUvh8KP2
extなんとかが最もポピュラーなのはなぜ?
歴史的な理由ですか?
892:login:Penguin
09/03/16 18:13:10 4dJsZZR0
なんだかんだで愛されてるんだよ
893:login:Penguin
09/03/16 18:59:45 XO5/u8kb
殺人よりはマシだからな(ワラ
894:login:Penguin
09/03/16 20:55:40 fRtMFqd9
>>891
そのとおり。
ext2時代は事実上、それしか選択肢がなかった。
ext3時代はredhatが他のFSをサポートしなかった。FSの品質はテスターの数にめっさ依存するので
ディストロの対応重要。