いくつかのブロックのみが割り当てられているスパースファイルがあります。
~% du -h --apparent-size example
100K example
~% du -h example
52K example
ファイルのどのブロックが実際に割り当てられているのか知りたいのですが。割り当てまたはファイルのホールのリストを取得するために使用できるシステムコールまたはカーネルインターフェイスはありますか?
ゼロの十分に長い文字列をチェックするだけでは(GNU cp、rsyncなどで使用されるアプローチ)正しく動作しません。
~% cp example example1
~% du -h example1
32K example1
実際に割り当てられたゼロの他のシーケンスを検出しました。
--fibmap
のhdparm
有用性を。マニュアルを参照してください。