J'ai un fichier clairsemé, dans lequel seuls certains blocs sont alloués:
~% du -h --apparent-size example
100K example
~% du -h example
52K example
Je voudrais savoir quels blocs du fichier sont réellement alloués. Existe-t-il un appel système ou une interface noyau qui pourrait être utilisé pour obtenir une liste des allocations ou des trous de fichier?
La simple vérification d'une chaîne de zéros suffisamment longue (l'approche utilisée par GNU cp, rsync, etc.) ne fonctionne pas correctement:
~% cp example example1
~% du -h example1
32K example1
Il a détecté d'autres séquences de zéros réellement allouées.
--fibmap
de l'hdparm
utilitaire. Voir le manuel.