У мене розріджений файл, в якому виділено лише деякі блоки:
~% 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
утиліті. Дивіться посібник.