パスワードを忘れた? アカウント作成
14965513 story
数学

Linuxカーネル5.10、XFSファイルシステムの2038年問題に対処 16

ストーリー by nagazou
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はデフォルトで無効になっているとのことだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2020年10月20日 14時56分 (#3910043)

    それでその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扱いの機能は使わないに限る。

    • by Anonymous Coward on 2020年10月20日 15時21分 (#3910063)

      RHELがStratis+XFSに舵をとったので、RHEL9辺りでデフォルトでenableになるでしょう
      なぜかFedoraは10月末に出る33からbtrfsがまた標準fsになりますが

      親コメント
      • by Anonymous Coward

        RHEL9辺りでデフォルトでenableになるでしょう

        まぁ
        新規インストールでデフォルトでenable
        アップグレードでデフォルトでdisable
        なら問題はなさそう

        # そして旧ディスクを直付しちゃって。。。

      • by Anonymous Coward

        なにっ?てことはいずれRHELでもbtrfsがルートファイルシステムになる日が来るのか…btrfsはRedHatに見放されたんだと思っていたぞ。

        • by Anonymous Coward

          Fedoraとrhelでbtrfsの扱いが割れているのです
          Stratisはデスクトップに使うのにはまだ早いというのもあると思いますが

    • by Anonymous Coward on 2020年10月20日 15時29分 (#3910071)

      蓄積データ側の変更コストが高いのね
      始めに非リニアなカウンタにしとけばよかったのかも
      上位3ビットを精度フラグにして後半は5秒、30秒、1分刻みにするみたいなの
      非リニアは用途的にヤベーと言うことで汎用に使われる事態も防げたかもしれんし

      親コメント
    • by Anonymous Coward

      まっさかー
      この10数年はLinux界隈も
      stableがβテストでございますよ

      少なくとも
      UbuntuとDebianでは
      十分痛い目にあっとります

      # source.listにはstableではなくバージョン名記載が鉄則

      • 登場当初さんざん非難されましたが、systemdのせいで痛い目をみたって事例はないんですかね?
        #systemdを理由にDebianからFreeBSDに乗り換えた個人ユーザーなのでAC

        • by Anonymous Coward

          むしろもうsysvinitが滅ぶ寸前。
          11月のCentOS6などのサポート切れを契機に、稼働しているsysvinitの環境が無くなる人がほとんどかと。

        • by Anonymous Coward

          理由にした貴方が事例出しては?
          変えたからには痛い目にあったのでしょうから。

          • by Anonymous Coward

            恥ずかしながら、自分で試しもせずに「initが変わる?なんか不具合でるんじゃないの?」と、
            根拠のない不信感に駆られて逃げだしただけでして。事例の出しようなんてありません。
            気付けば登場から5年以上経ってるし、いいかげん食わず嫌いをやめてsystemd使ってみますわ…

        • by Anonymous Coward

          俺の経験したのだと debianのapt upgradeで、ブートしなくなるというケースはあった。
          systemd更新で fstabにNFSのマウント書いても無視するようになったの知らんで、そのままにしてた。(/ と /boot、/etc以外は全部 NFSの構成)

          原因わかればたいした問題じゃなかったのだが、バックアップからの復元しても upgradeすると死ぬ。新規インストールしても同じ構成だから当然死ぬ。
          fstabに書けなくなったという情報が入るまでは、本当に困った。
          systemd の問題というか、debianのアップグレードポリシー(apt upgradeで、致命的な変更も普通にやっちゃう。パッケージ個別のReleaseNote更みないと変更点はわからない)の問題だが。

    • by Anonymous Coward

      inline_data付きで作成したext4から不用意にinline_dataオプションを取り去ってしまった時

      そんなことした馬鹿が悪い

  • by Anonymous Coward on 2020年10月20日 23時42分 (#3910317)

    小数じゃないですよね?

    • by Anonymous Coward

      バージョン番号だから5系の10個目って意味ですよ

      しかしTeXなら未だしも Linux5.10で「少数じゃないですよね?」って…

      • by Anonymous Coward

        Linuxはいまやりっぱに多数だ、と

typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...