Bug 11190

Summary: Cобытие change для md не обрабатывается
Product: Sisyphus Reporter: Andriy Stepanov <stanv>
Component: udevAssignee: Sergey Vlasov <vsu>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: arseny, shaba
Version: unstable   
Hardware: all   
OS: Linux   

Description Andriy Stepanov 2007-03-22 15:33:59 MSK
Лог общения с VSU:
[14:55:25] <stanv> Я к тебе с тем вопросом, что initramfs не может загрузить
корень на raid1 :)
[14:57:14] <vsu> и что пишет?
[14:58:53] <stanv> Freeing unused kernel memory: 192k freed
Executing init=/init
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX3: IDE controller at PCI slot 0000:00:01.1
PIIX3: chipset revision 0
PIIX3: not 100% native mode: will probe irqs later
   ide0: BM-DMA at 0xc000-0xc007, BIOS settings: hda:pio, hdb:pio
   ide1: BM-DMA at 0xc008-0xc00f, BIOS settings: hdc:pio, hdd:pio
hda: QEMU HARDDISK, ATA DISK drive
hdb: QEMU HARDDISK, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 512KiB
hda: 4194304 sectors (2147 MB) w/256KiB Cache, CHS=4161/255/63, (U)DMA
hda: cache flushes supported
hda: hda2
hdb: max request size: 512KiB
hdb: 4194304 sectors (2147 MB) w/256KiB Cache, CHS=4161/255/63, (U)DMA
hdb: cache flushes supported
hdb: hdb1
hdc: QEMU CD-ROM, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
md: raid1 personality registered for level 1
md: Autodetecting RAID arrays.
md: autorun ...
md: considering hdb1 ...
md:  adding hdb1 ...
md:  adding hda2 ...
md: created md0
md: bind<hda2>
md: bind<hdb1>
md: running: <hdb1><hda2>
raid1: raid set md0 active with 2 out of 2 mirrors
md: ... autorun DONE.

[14:59:52] <vsu> а если поставить rootdelay=5 - вываливается в shell?
[15:00:20] <stanv> хм, сча протестирую, 10 мин %)
[15:00:23] <vsu> в принципе без этого тоже вывалится, но через 2 минуты
[15:00:28] <stanv> неааааааа
[15:00:29] <stanv> :)
[15:00:44] <stanv> вываливается в (initramfs)
[15:00:53] <vsu> ну да
[15:01:02] <stanv> вываливается :)
[15:01:14] <vsu> попробуй там /lib/udev/vol_id /dev/md0
[15:01:39] <vsu> там root=UUID=... ?
[15:01:49] <stanv> там root = /dev/md0
[15:01:58] <stanv> root=/dev/md0
[15:03:13] <vsu> это в lilo.conf? а если в cat /proc/cmdline ?
[15:03:20] <stanv> 1 ctr
[15:03:21] <stanv> сек
[15:04:50] <stanv> >попробуй там /lib/udev/vol_id /dev/md0
[15:04:54] <stanv> поробовал
[15:05:10] <vsu> выдаёт ожидаемый тип фс и uuid?
[15:05:19] <stanv> да
[15:05:42] <vsu> давай cat /proc/cmdline
[15:05:44] <stanv> /dev/md0 - это root в lilo.conf
[15:05:46] <vsu> что там в root
[15:06:12] <stanv> там UUID
[15:06:42] <vsu> откуда? uuid совпадает с фактическим в фс?
[15:06:49] <vsu> который vol_id выдал
[15:07:00] <stanv> да
[15:07:13] <vsu> хм
[15:07:19] <stanv> сча тебе одну интересную строку наберу
[15:07:21] <vsu> ядро там какое?
[15:07:25] <stanv> подожди 1 сек
[15:07:37] <stanv> последнее которое лежит в сизифе
[15:07:45] <stanv> сча тебе одну интересную строку наберу
[15:09:02] <stanv> ALERT! /dev/disk/by-uuid/XXXXXXXXXXXXXXXXXXXXXXXXXX does not
exist. Dropping to shell!
[15:09:18] <stanv> вот, набрал :)
[15:09:56] <vsu> тогда смотри ещё cat /dev/.udev/db/block@md0
[15:10:24] <stanv> 1 сек
[15:13:11] <stanv> хм, echo /dev/.udev/db/block* показует что этот файл есть
[15:13:29] <vsu> понятно, значит, это симлинк в пустоту
[15:13:37] <stanv> а cat  говорит что не может нет такого файла
[15:13:45] <vsu> echo add >/sys/block/md0/uevent
[15:13:55] <vsu> после этого, скорее всего, всё появится
[15:14:26] <stanv> сказал
[15:14:58] <stanv> о :) и cat /dev/.udev/db/block@md0 заработал %)
[15:15:07] <vsu> и там есть by-uuid/xxx
[15:15:08] <vsu> ?
[15:15:28] <stanv> да
[15:15:49] <vsu> ну теперь при выходе из этого shell должно загрузиться
[15:15:55] <vsu> повесь багу на udev
[15:16:07] <stanv> а, а как выйти ?
[15:16:15] <vsu> ядро я запатчил, а udev, похоже, только подумал, что запатчил :(
[15:16:17] <vsu> ^D
[15:16:45] <stanv> так вешать багу ?
[15:17:08] <vsu> ага... там событие change для md не обрабатывается
Steps to Reproduce:
1.Попробовать загрузиться с корневой файловой системой на raid 1
2.
3.
Comment 1 Sergey Vlasov 2007-03-30 14:13:22 MSD
Исправлено в udev-108-alt1; кроме того, в случае использования /dev/md0
необходимо обновить mkinitrd до 3.0.3-alt1 (md_run использует /dev/md0 для
выдачи ioctl RAID_AUTORUN, что может мешать udevd определить UUID для /dev/md0).