Vous pouvez utiliser l'ioctl FIBMAP, comme illustré ici, ou utiliser hdparm :
/ $ sudo /sbin/hdparm --fibmap /etc/X11/xorg.conf
/etc/X11/xorg.conf:
filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
byte_offset begin_LBA end_LBA sectors
0 1579088 1579095 8
Vous pouvez utiliser debugfs
pour cela :
debugfs -R "stat ~/myfile" /dev/hda1
Changez le disque dur/la partition en conséquence et assurez-vous que le disque est démonté. Vous obtiendrez une liste avec tous les blocs utilisés :
BLOCKS:
(0):1643532
TOTAL: 1
Ce fil peut vous donner un aperçu de l'algorithme de placement de fichiers ext4.
debugfs
a un bmap
fonction, qui semble donner les données que vous voulez. Vous devriez pouvoir lui donner des blocs consécutifs d'un fichier et obtenir les numéros de blocs physiques.