Re: bug in sym53c8xx? [Was: RAID1 + LVM not detected during booton 2.6.9]

From: Aleksandar Milivojevic
Date: Thu Dec 16 2004 - 13:24:33 EST


Alexander E. Patrakov wrote:
I am not sure how to classify this bug properly.

First, the driver correctly follows the behaviour described by Greg KH: it
should load successfully even if there is no corresonding hardware. Then
(in already-loaded state) it should generate hotplug events when the
hardware says it's present (and that's slow). Greg KH says that in hotplug
world (i.e., in reality) nothing else is possible. From this viewpoint, the
bug is in the linuxrc script provided by RedHat. It should really either
poll and sleep and wait or use udev to get notification when the disk is
really accessible.

I've just stumbled at another problem that seems to boil down to the same thing. This time modules were not PCI related. They were file system modules: jbd and ext3.

The ext3.ko needs some symbols that are defined in jbd.ko. The linuxrc (init) script first loads jbd.ko, and than ext3.ko. ext3.ko complains about unknown symbols (journal_*) that are defined in jbd.ko and fails to load. Again, inserting sleep between invocations of insmod solves the problem.

The problem was first referenced on Fedora Users mailing list, under thread "FC3 SMP builds do NOT contain ext3 drivers in the build!!!!" (kind of incorrect subject line, ext3 driver was included, but it failed to load due to unknown symbols). It seems that OP migrated his file systems back to ext2 in order to be able to boot. There were couple of people that experienced this race condition problem.

Now, this might be the linuxrc (init) script problem. But if in order to boot reliably we need to add "sleep 10" lines after each and every module from initrd image is loaded, it becomes ridicilus. Shouldn't there be a way to load module and wait until it signals "I'm done with initialization" before insmod command exits? This would solve problems with hot-pluggable devices too (driver would scan the bus, than signal it is initialized, and after that it would continue doing its hot-pluggable agenda).

--
Aleksandar Milivojevic <amilivojevic@xxxxxx> Pollard Banknote Limited
Systems Administrator 1499 Buffalo Place
Tel: (204) 474-2323 ext 276 Winnipeg, MB R3T 1L7
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/