C
BTRFSファイルシステムでは、ファイルプロパティを使用してファイルのCoWを無効にできます。
chattr +C filename
CoWファイルシステムなので、これはZFSにも当てはまると予想していましたが、そのプロパティを設定する方法はありません(おそらくZFSはCoWなしで実行できません)。
では、どのファイルシステムがC
ファイルプロパティを完全にサポートしていますか? XFSやBCacheFSなどの他のファイルシステムもこのフラグに従いますか、またはBTRFSだけがこのフラグに従いますか?
コンテキスト:仮想マシンをマウントするプログラムを作成し、ホストファイルシステムがBTRFSであることを検出すると、仮想ディスクイメージを含むフォルダに対してCoWを無効にします(そうしないとパフォーマンスの問題が発生するため)。同じコードをZFS、XFS、BCacheFSに適用しましたが、プロパティ設定に失敗したため、ZFSを削除する必要がありました。これで、XFSとBCacheFSも除外する必要があるかどうか疑問に思います。
答え1
chattr
C
プロパティに該当FS_NOCOW_FL
カーネルUAPIのフラグ(定義存在するlinux/fs.h
)。したがって、この属性をサポートする唯一のファイルシステムは次のとおりです。このフラグを処理する:現在BTRFSとF2FSです。
また、ファイルシステムのサポートは、プロパティの検索と設定によって異なる場合があります。 BTRFSをすぐに確認する方法はありません。fs/btrfs/ioctl.c
- プロパティの設定と検索をサポートしますC
。 F2FSの場合見やすく:このC
プロパティは設定できず、使用のみ可能です。固定ファイルの識別(ガベージコレクションが不可能なファイル - F2FSはログ構造のファイルシステムです.)