如何将FIBMAP返回的数据转换为磁盘的LBA扇区?

时间:2012-12-04 20:45:44

标签: c++ linux file disk

我需要确定磁盘设备(Linux)上文件占用的扇区范围。我们假设它是一个带有MBR或GPT分区表的简单磁盘(无RAID)。

我了解到我可以使用FIBMAP ioctl获取文件系统中文件的位置。如何将FIBMAP返回的数据转换为磁盘的LBA扇区?谢谢

1 个答案:

答案 0 :(得分:0)

我没有给你一个确切的答案,但如果你看一下hdparm的源代码,你应该能够搞清楚。如果使用hdparm --fibmap /dir1/dir2/foo,它将以文件偏移量,启动LBA,停止LBA和扇区长度的行输出文件的块。我希望有所帮助。