遅延割り当てをサポートするFSからファイル範囲の割り当て状態を取得します。

遅延割り当てをサポートするFSからファイル範囲の割り当て状態を取得します。

割り当てが遅れた非常に大きなファイルの場合、一部のセクタは割り当てられ、一部は割り当てられません。 ext4/xfs/etc は遅延割り当てをサポートします。

たとえば、空のファイルを作成し、fallocate()を使用して非常に大きなサイズに設定します。これでファイルサイズはGBになりますが、du使用中にディスク使用量は0になります。ランダムに書き込んだ後、ファイルの特定のセクタ/ページが割り当てられていることを確認したいと思います。

一部の関連システム呼び出し(mincore / fincoreなど)は、ページキャッシュの仮想マシンの状態に応じて機能します。ただし、ディスク割り当て情報は提供しません。これを行う方法があるかどうかを知りたいです。ありがとうございます。

ベストアンサー1

次のコマンドを使用して、ディスク上のファイルマッピングをインポートできます。FIEMAPI/W制御FIBMAP同様の操作を実行し、ルートが必要で、よく文書化されていないioctlもあります。

Cを書かなくても、filefrag -vまたはを使用してhdparm --fibmapデータを取得できます。

おすすめ記事