Puoi usare FIBMAP ioctl, come esemplificato qui, o usare 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
Potresti usare debugfs
per questo:
debugfs -R "stat ~/myfile" /dev/hda1
Cambia l'unità disco/partizione di conseguenza e assicurati che l'unità sia smontata. Otterrai un elenco con tutti i blocchi utilizzati:
BLOCKS:
(0):1643532
TOTAL: 1
Questo thread potrebbe darti alcune informazioni sull'algoritmo di posizionamento dei file ext4.
debugfs
ha un bmap
function, che sembra fornire i dati desiderati. Dovresti essere in grado di assegnargli blocchi consecutivi di un file e ottenere i numeri dei blocchi fisici.