
man ext4
というインストールオプションへの言及がありますjournal_async_commit
。
ディスクリプタブロックを待たずにコミットブロックをディスクに書き込むことができます。有効にすると、古いカーネルはデバイスをインストールできません。 これにより、内部的に "journal_checksum"が有効になります。
警告:このファイルは不完全です。 1)このオプションはデフォルトのオプションと一緒には使用できませんdata=ordered
。 2)2012年基準で、このオプションは「少し外れたと考えられています。実際にテストされておらず、Janは安全性について深刻な疑問を抱いています」このオプションが現在のカーネルバージョンでより成熟しているかどうかはわかりません。
全体的に、これは有用性をある程度制限する。したがって、私はこの質問に対して具体的に実際には使用できません。たぶん他の人もこれに興味があるでしょう。
Q1.古いカーネルがファイルシステムのマウントをサポートできず、以前にファイルシステムがマウントされたために失敗した理由が発生した場合、カーネルログにどのようなメッセージが表示されますかjournal_async_commit
?この特定の問題を特定することは可能ですか?
Q2.私は、ログがクリーンアップまたは空になった場合、たとえば新しいバージョンを実行している場合、古いカーネルがまだファイルシステムをマウントできると仮定しますfsck.ext4
。 (fsck.ext4
リプレイログとして記録されます)。マウントされていないファイルシステムまたはtune2fs
マウントされていないファイルシステムで現在のバージョンを実行すると、古いdebuge2fs
カーネルがそれをマウントできるかどうかを正確に知らせる特定の互換性のない機能フラグが表示されますか?
Q3. (および)をjournal_async_commit
使用して有効にできますか?もしそうなら、それがアクティブになるとどうなりますか?tune2fs
mkfs.ext4
tune2fs -l
Q3に対する現在の答えは、デフォルトのtune2fs
インストールオプションを設定できることです。 journal_async_commit
はいいいえを使用して設定できるオプションで文書化されていますtune2fs -o
。したがって、tune2fs -E mount_opts=journal_async_commit
この機能は「非常に完璧」ではありません。複数のオプションを設定するには、次の手順を実行するmount_opts=
必要があります。代わりにdebuge2fsを使用してください。