kledgeb UbuntuやLinuxの最新情報を紹介

Linux その33 - BLK-MQが原因か・ファイルシステムが破損する問題の修正へ

ファイルシステムが破損する問題の修正へ

先日紹介したext4ファイルシステムが破損する問題の調査が行われ、原因の特定と修正パッチの投稿が行われました。


  • Linux kernel 4.19でext4ファイルシステムが破損する問題

BLK-MQが原因か

この問題はext4の実装に起因するものではなく、「blk-mq(Multi-Queue Block IO Queueing Mechanism)」の実装に起因する問題であることが分かりました。
「blk-mq」はカーネルのブロックサブシステムであり、I/Oクエリーを分散させパフォーマンスの向上を図ります。

  • It's Looking Like The EXT4 Corruption Issue On Linux 4.19 Is Caused By BLK-MQ
  • The "EXT4 Corruption Issue" Has Been Fixed In Linux 4.20, Backport Pending To 4.19

この問題は「Linux kernel 4.19-rc1」で行われた修正で発生する問題であり、 「Linux kernel 4.19」及び開発中の「Linux kernel 4.20」で発生します。
またこの問題は「BLK-MQ」を使用している時に発生します。

加えて「BLK-MQ」の問題であれば、この問題はファイルシステムの種類に限定されません。
つまりext4以外でも発生する可能性が示唆されています。

特定の状況下でデータが破損

本問題を修正するパッチが投稿されました。

  • blk-mq: fix corruption with direct issue

問題の詳細は修正パッチ内のコメントに記述されています。

SCSIデバイスに直接リクエストを発行しデバイスからBUSYが返ると、リクエストをキューに入れて保留します。
しかしSCSIレイヤーはある特定コマンドのためにすでにSGテーブルのセットアップ等を行っています。
後でリクエストをマージする際、更新されたこれらの情報を使用せずその時の情報で処理を行います。
そのため本現象が発生します。

Linux kernel 4.20では適用済み

現在開発中の「Linux kernel 4.20」では、上記のパッチが適用されています。

  • Merge tag 'for-linus-20181205' of git://git.kernel.dk/linux-block

Linux kernel 4.19.8に適用か?

上記のパッチは「Linux kernel 4.19.7」のリリースに間に合いませんでしたが、次のリリースである「Linux kernel 4.19.8」に取り込まれる(バックポート)されるものと思われます。

Linux
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション