/**ファイルシステム総合スレ その 9 **/at LINUX
/**ファイルシステム総合スレ その 9 **/ - 暇つぶし2ch867:login:Penguin
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の品質はテスターの数にめっさ依存するので
ディストロの対応重要。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch