Bug#386006: [Pkg-sysvinit-devel] Bug#386006: Cannot mount -o auto USB
filesystems from /etc/fstab
Henrique de Moraes Holschuh
hmh at debian.org
Mon Sep 11 15:34:04 UTC 2006
On Mon, 11 Sep 2006, Petter Reinholdtsen wrote:
> [Henrique de Moraes Holschuh]
> > The only way we can support this nowadays is with the full async userspace
> > model.
>
> Why? For the case of mounting a fixed USB disk, I would expect udev
> to find it before its init.d scripts is done, as it will load the USB
How could it? Remeber, udev finds *NOTHING*. The kernel does, and will do
so only after the entire chain from PCI to usb-storage has loaded, waited
for whatever to settle, etc.
It is async. I really mean it. You don't know when it will come, if it ever
does. So the only thing that will work sanely is to react when (and if) it
does come.
And it also means we need proper concurrency-safe handling, because the
chances are there that it will try to run at inconvenient times.
> Am I mistaken? Isn't the long udev wait making sure all detected
> devices are available in /dev/ before it continues?
No. What udev can wait for reliably is, AFAIK, precious little. Small
stuff like sysfs entries showing up, and other *direct* effects of an event.
> I agree that would be a solution for the disks inserted after boot.
> But is it really necessary for disks that are present when the machine
> boot?
With all Etch kernels and udev, all disks are inserted either *at* or *after*
boot, i.e. you get coldplug events for the disks at bootup, as soon as udev
tells the kernel it is up to handle the coldplug, and the kernel dumps the
entire coldplug queue into udev. You get the same type of events later, if
new disks are hotplugged. Or hot-removed, for that matter.
In an udev-less system, all that happens is that coldplug and
hotplug/hotremoves are never processed.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
More information about the Pkg-sysvinit-devel
mailing list