Я пишу модуль ядра (на Linux 2.6.32), для получения disk_stats
из всех дисков (не раздел) используемый. Другими словами, я получаю данные точно так же, как какой /sys/block/sda/stat
шоу, но в модуле ядра.
(ПРИМЕЧАНИЕ: 'не раздел', который я имею в виду, мы просто обрабатываем sda
и проигнорируйте sda1/sda2/etc
, например.)
Есть ли что-либо как for_each_netdev
или for_each_possible_cpu
для блочного устройства? Beacuse там может быть несколькими дисками, и мне нужен способ пересечь их. Или самое позднее, как я могу получить связанную структуру данных с названием блочного устройства (как sda
)?
Я знаю, что мы можем получить диск disk_stats
от диска hd_struct
, но как я мог получить это hd_struct
?
Я считал linux2.6.32/block/genhd.c, и я знаю содержание файла /sys/block/sda/stat
сгенерирован diskstats_show
. Но как второй аргумент прибывает?
Пожалуйста, помогите мне. спасибо.