Мне нужно определить диапазон (ы) сектора, занимаемый файлом на дисковом устройстве (для Linux). Давайте предположим, что это простой диск (без RAID) с таблицей разделов MBR или GPT.
Я узнал, что я могу получить положение файла в файловой системе, используя FIBMAP
IOCTL. Как мне перевести данные, возвращенные FIBMAP
в LBA секторы диска? Спасибо
У меня нет точного ответа для вас, но если вы посмотрите на исходный код hdparm, вы сможете понять это. Если вы используете hdparm --fibmap /dir1/dir2/foo
он выведет порции файла в строках смещения файла, начала LBA, остановки LBA и длины сектора. Надеюсь, это поможет.
Других решений пока нет …