ioctl()
FIBMAP
で利用可能な論理ブロックがある場合は、ファイルが占める物理ブロックを決定するために使用できますstat()
。ただし、root アクセスが必要です。ファイルのディスクの場所を決定するためにルートアクセスが必要なのはなぜですか。この質問を提起するユースケースでは、ファイルが小さいため(平均約1ブロック)、最初のブロックの物理的な場所を知るだけで十分です(間接ブロックはもちろん必要ありません)。これらのファイルの約100,000個は、できるだけ早い順序で短い順序でアクセスする必要があり、I / Oスケジューラキューに渡す前に、ディスクの場所に基づいてファイルを事前にソートしたいと思います。ソートはinode
root権限を必要としない可能性に基づいていますが、inode番号とディスクの場所との間の一致度は確率的であるため、一致度によってパフォーマンスが異なります。
ファイルが占める物理ブロックへの非ルートアクセス
おすすめ記事
- 整数以外の時間オプションでwatchコマンドを呼び出すことはできません。
- Gtkファイルダイアログがマウントポイントを一覧表示しないようにする
- プロセスフラグ1:分岐されたが実行されていません(ユースケース?)
- grep manの結果が出たときにエラーが発生するのはなぜですか?
- ファイルの内部を特定の構造に置き換えます。
- ソースファイルを保存する場所[閉じる]
- パーティションが復元されました。
- 文字列の2番目から最後の空白文字より前のすべての文字を一致させる方法は?
- Linux Mint - Intel 82579LM NICとハードウェアデバイスがハングする
- resize2fsを使用してファイルシステムを縮小するときに正しいパーティションサイズを計算する方法