exFATパーティションの書き込みキャッシュを無効にする

exFATパーティションの書き込みキャッシュを無効にする

文脈上、私はカーネル6.1を使用しているので、5.7以降のツリー内のexFATカーネルドライバを使用しています。

現在exFATでフォーマットされているフラッシュドライブを接続してここに書き込むと、RAMキャッシュに書き込まれ、ゆっくりフラッシュにフラッシュされます。ユーザースペースアプリケーション(したがってユーザー)は、ドライブ(またはより正確にはパーティション)をアンマウントしようとするか、中断されるまで書き込みが完了したように見えるため、これはお勧めできませumountudisksctl。さらに悪いことに、ユーザーがこの動作を認識せず、プラグを抜く前に削除しない悪い習慣を持っている場合、音なしでデータが破損するだけです。

だから私はこのキャッシュ動作を無効にしたいと思います。読みながらman mountexFATがまったく言及されていないことは驚くべきことです。 「FATインストールオプション」セクションの下にオプションがありますflush。しかし、私が正しく理解した場合、exFATexfatはドライバがvfatFAT16やFAT32などを処理する方法とは異なるため、このセクションはexFATには適用されません。

実際、flushこのオプションを使用してexFATパーティションをマウントしようとするとエラーが発生します。

# sda1 is my exFAT partition
$ udisksctl mount -b /dev/sda1 -o flush
Error mounting /dev/sda1: GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted: Mount option `flush' is not allowed

exfatもしそうなら、現在のドライバは書き込みキャッシュの無効化をサポートしていませんか?そうでない場合、回避策はありますか?

関連情報