Linuxカーネル5.10、XFSファイルシステムの2038年問題に対処 16
ストーリー by nagazou
2038年問題 部門より
2038年問題 部門より
headless 曰く、
Linuxカーネル5.10ではXFSファイルシステムの2038年問題(Y2038)への対応が行われるようだ(Phoronixの記事、 The Registerの記事、 Darrick J. Wong氏のメーリングリスト投稿)。
Y2038は2038年1月19日3時14分7秒(UTC)以降、UNIX時間が符号付き32ビット整数で表現できる範囲を超えてしまうという問題だ。Linuxの場合、64ビットシステムでは64ビット整数が標準のためY2038の影響は小さく、32ビットシステムでもLinuxカーネル5.6でY2038に対応しているが、タイムスタンプに符号付き32ビット整数を使用するファイルシステムのY2038は32ビットシステム・64ビットシステムの両方が影響を受ける。
Linuxカーネル5.10のXFSファイルシステムではinodeのタイムスタンプとクオータ有効期限のタイプスタンプのデータサイズを拡大する「big timestamps」により、2486年までの対応が可能になるという。Phoronixによると、タイムスタンプをナノ秒単位の64ビットカウンターとして扱うことで、1901年12月~2486年7月のタイムスタンプに対応するそうだ。ただし、後方互換性を維持するため、現在のところbig timestampsはデフォルトで無効になっているとのことだ。
いつまでもexperimentalですねわかります (スコア:0)
それでそのbigtime有効でマウントしてatime更新なんかがされてしまったファイルシステムを
bigtime無効な環境で再びマウントしてしまったら一体どうなってしまうんです?
inline_data付きで作成したext4から不用意にinline_dataオプションを取り去ってしまった時のような悲劇的結末が待っているんじゃないんですかねぇ。
ましてやXFSなんでファイルシステムの大きさによってはxfs_checkやxfs_repairがメモリ食いすぎで詰んでしまうんじゃ?
ext4は5.4.0の時点で勝手に、ext4 filesystem being mounted at /mnt/hogehoge supports timestamps until 2038 (0x7fffffff) してくれちゃったから今更感溢れるニュースだし、事前テストに参加してくれた沢山の人柱さんのお陰で古いカーネルでマウントしても無問題だったけど。
そんなext4さんでもext4dev扱いのinline_dataやbigalloc使っちゃったら痛い目見るよね。
experimental扱いの機能は使わないに限る。
Re:いつまでもexperimentalですねわかります (スコア:1)
RHELがStratis+XFSに舵をとったので、RHEL9辺りでデフォルトでenableになるでしょう
なぜかFedoraは10月末に出る33からbtrfsがまた標準fsになりますが
Re: (スコア:0)
RHEL9辺りでデフォルトでenableになるでしょう
まぁ
新規インストールでデフォルトでenable
アップグレードでデフォルトでdisable
なら問題はなさそう
# そして旧ディスクを直付しちゃって。。。
Re: (スコア:0)
なにっ?てことはいずれRHELでもbtrfsがルートファイルシステムになる日が来るのか…btrfsはRedHatに見放されたんだと思っていたぞ。
Re: (スコア:0)
Fedoraとrhelでbtrfsの扱いが割れているのです
Stratisはデスクトップに使うのにはまだ早いというのもあると思いますが
Re:いつまでもexperimentalですねわかります (スコア:1)
蓄積データ側の変更コストが高いのね
始めに非リニアなカウンタにしとけばよかったのかも
上位3ビットを精度フラグにして後半は5秒、30秒、1分刻みにするみたいなの
非リニアは用途的にヤベーと言うことで汎用に使われる事態も防げたかもしれんし
Re: (スコア:0)
まっさかー
この10数年はLinux界隈も
stableがβテストでございますよ
少なくとも
UbuntuとDebianでは
十分痛い目にあっとります
# source.listにはstableではなくバージョン名記載が鉄則
systemdは脱experimentalしたのか?(オフトピ (スコア:0)
登場当初さんざん非難されましたが、systemdのせいで痛い目をみたって事例はないんですかね?
#systemdを理由にDebianからFreeBSDに乗り換えた個人ユーザーなのでAC
Re: (スコア:0)
むしろもうsysvinitが滅ぶ寸前。
11月のCentOS6などのサポート切れを契機に、稼働しているsysvinitの環境が無くなる人がほとんどかと。
Re: (スコア:0)
理由にした貴方が事例出しては?
変えたからには痛い目にあったのでしょうから。
Re: (スコア:0)
恥ずかしながら、自分で試しもせずに「initが変わる?なんか不具合でるんじゃないの?」と、
根拠のない不信感に駆られて逃げだしただけでして。事例の出しようなんてありません。
気付けば登場から5年以上経ってるし、いいかげん食わず嫌いをやめてsystemd使ってみますわ…
Re: (スコア:0)
俺の経験したのだと debianのapt upgradeで、ブートしなくなるというケースはあった。
systemd更新で fstabにNFSのマウント書いても無視するようになったの知らんで、そのままにしてた。(/ と /boot、/etc以外は全部 NFSの構成)
原因わかればたいした問題じゃなかったのだが、バックアップからの復元しても upgradeすると死ぬ。新規インストールしても同じ構成だから当然死ぬ。
fstabに書けなくなったという情報が入るまでは、本当に困った。
systemd の問題というか、debianのアップグレードポリシー(apt upgradeで、致命的な変更も普通にやっちゃう。パッケージ個別のReleaseNote更みないと変更点はわからない)の問題だが。
Re: (スコア:0)
inline_data付きで作成したext4から不用意にinline_dataオプションを取り去ってしまった時
そんなことした馬鹿が悪い
ごーてんいちぜろ? ごーてんじゅう? (スコア:0)
小数じゃないですよね?
Re: (スコア:0)
バージョン番号だから5系の10個目って意味ですよ
しかしTeXなら未だしも Linux5.10で「少数じゃないですよね?」って…
Re: (スコア:0)
Linuxはいまやりっぱに多数だ、と