Puede usar FIBMAP ioctl, como se muestra aquí, o usar 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
Podrías usar debugfs
por esto:
debugfs -R "stat ~/myfile" /dev/hda1
Cambie el disco duro/partición según corresponda y asegúrese de que el disco esté desmontado. Obtendrá una lista con todos los bloques utilizados:
BLOCKS:
(0):1643532
TOTAL: 1
Este hilo puede darle una idea del algoritmo de colocación de archivos ext4.
debugfs
tiene un bmap
función, que parece dar los datos que desea. Debería poder darle bloques consecutivos de un archivo y obtener los números de bloque físicos.