Программирование Linux: на каком устройстве находится файл

я хотел бы знать, в какой записи в / dev находится файл. Например, если / dev / sdc1 смонтирован в / media / disk, и я прошу /media/disk/foo.txt , Я хотел бы получить / dev / sdc в качестве ответа.

Используя системный вызов stat для этого файла, я получу его старший и младший номера раздела (8 и 33, для sdc1). Теперь мне нужно получить от него "корневое" устройство (sdc) или его основное / вспомогательное устройство. Есть ли системный вызов или библиотечная функция , которую я мог бы использовать для связывания раздела с его основным устройством? Или еще лучше, получить это устройство прямо из файла?

brw-rw---- 1 root floppy 8, 32 2011-04-01 20:00 /dev/sdc
brw-rw---- 1 root floppy 8, 33 2011-04-01 20:00 /dev/sdc1

Заранее спасибо!

5
задан Grieih 1 April 2011 в 20:09
поделиться