LINUX.ORG.RU

udevadm info не видит поля ID_FS_* для устройства самописного LKM

 ,


0

1

Для linux есть самописный драйвер блочного устройства, похожий на драйвер loop. Создаёт по требованию устройства /dev/mycc0, /dev/mycc1 и т.д., смотрящие на некоторые устройства назначения.

После перезагрузки попал в dracut emergency shell указав параметр ядра rd.break=initqueue

Было создано два устройства /dev/loop0 и /dev/mycc0. Оба смотрят на /dev/sda2.

udevadm info для /dev/mycc0 не показывает поля вида ID_FS_UUID, ID_FS_TYPE и т.п. Для /dev/loop0 показывает.

При этом:

1: udevadm test-builtin blkid /sys/class/block/loop0 и udevadm test-builtin blkid /sys/class/block/mycc0 - совпадают! Присутствуют поля ID_FS_UUID, ID_FS_TYPE и т.п. …

2: stat и blkid для /dev/loop и для /dev/mycc0 совпадают

3: cmp -b -l /dev/loop0 /dev/mycc0 - различий не выявлено.

Пример того, что выводит udevadm info:

Выполнил udevadm info /dev/loop0:

P: /devices/virtual/block/loop0
N: loop0
L: 0
E: DEVPATH=/devices/virtual/block/loop0
E: DEVNAME=/dev/loop0
E: DEVTYPE=disk
E: DISKSEQ=4
E: MAJOR=7
E: MINOR=0
E: SUBSYSTEM=block
E: USEC_INITIALIZED=127559842
E: ID_FS_UUID=mvZqUU-Fa0z-F5j3-cEIW-g5XJ-86la-FxNVkH
E: ID_FS_UUID_ENC=mvZqUU-Fa0z-F5j3-cEIW-g5XJ-86la-FxNVkH
E: ID_FS_VERSION=LVM2 001
E: ID_FS_TYPE=LVM2_member
E: ID_FS_USAGE=raid

Выполнил udevadm info /dev/mycc0:

P: /devices/virtual/block/mycc0
N: mycc0
L: 0
E: DEVPATH=/devices/virtual/block/mycc0
E: DEVNAME=/dev/mycc0
E: DEVTYPE=disk
E: DISKSEQ=9
E: MAJOR=252
E: MINOR=0
E: SUBSYSTEM=block

В чём может быть дело?

P.S.: Оба драйвера используют /dev/sda2 для удобства тестирования. На запись я ничего не делаю, и если проверять по отдельности, только loop0 или только mycc0, то картина та же.



Последнее исправление: zenbooster (всего исправлений: 1)