Inode для информации об устройстве - PullRequest
1 голос
/ 14 апреля 2010

У меня есть 3 вопроса:

  1. Я хочу выяснить, принадлежит ли файл USB-устройству с учетом inode файла.Посмотрев последние версии ядра (2.6.33) на LXR, я думаю, что можно найти эту информацию с помощью следующих указателей: inode-> super_block-> block_device-> backing_dev_info-> device-> device_driver (или device_type).Однако ядро, с которым я работаю - 2.6.22.14 - не имеет указателя struct device в объекте backing_dev_info.Итак, как я могу определить, к какому устройству принадлежит файл только из инода?Я вижу, что каждый из inode, super_block и block_device содержит объект типа 'dev_t'.Но даже после долгих поисков я не смог выяснить, как преобразовать dev_t в struct device *.Есть ли способ получить эту информацию?

  2. Я пытался напечатать старшие и младшие номера устройства, используя imajor (inode) и iminor (inode).Однако для каждого файла - принадлежащего hdd или usb - он всегда печатает старшее и младшее число как ноль.Почему это происходит?

  3. Я искал в Интернете основные номера USB и обнаружил, что основной номер для USB равен 180. Однако на нескольких машинах он показал мне основной номерассоциируется с USB-разработчиком как 253.

$ ls -ltr / dev / usb *

crw-rw ---- 1 корневой корень 253,4 2010-04-13 17:20 / dev / usbmon4

crw-rw ---- 1 root root 253, 3 2010-04-13 17:20 / dev / usbmon3

crw-rw ---- 1 root root 253, 8 2010-04-13 17:20 / dev / usbmon8

crw-rw ---- 1 root root 253, 5 2010-04-13 17: 20 / dev / usbmon5

crw-rw ---- 1 root root 253, 1 2010-04-13 17:20 / dev / usbmon1

crw-rw ----1 root root 253, 7 2010-04-13 17:20 / dev / usbmon7

Почему это так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...