mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-30 23:21:08 +03:00
79721e0a77
Currently udevd delays only events for the same DEVPATH. Example of an "add" event sequence: /block/sda /block/sda/sda1 With this change, we make sure, that the udev process handling /block/sda has finished its work (waited for all attributes, created the node) before we fork the udev event for /block/sda/sda1. This way the event for sda1 can be sure, that the node for the main device is already created (may be useful for disk labels). It will not affect any parallel device handling, only the sequence of the devices directory chain is serialized. The 10.000 disks plugged in will still run as parallel events. :) The main motivation to do this is the program execution of the dev.d/ and hotplug.d/ directory. If we don't wait for the parent event to exit, we can't be sure that the executed scripts are run in the right order. On Thu, Dec 09, 2004 at 09:18:28AM +0100, Kay Sievers wrote: > On Wed, 2004-12-08 at 19:07 -0800, David Brownell wrote: > > Could that argument apply to the underlying hardware, too? > We now make sure that the sequence of events for a device > is serialized for every device chain and the class/block > devices which have a "device" link to a physical device are > handled after the physical device is fully populated and > notified to userspace. It will only work this way on kernels > later than 2.6.10-rc1 cause it depends on the PHYSDEVPATH > value in the hotplug environment.
44 lines
1.3 KiB
Groff
44 lines
1.3 KiB
Groff
.TH UDEVD 8 "February 2004" "" "Linux Administrator's Manual"
|
|
.SH NAME
|
|
udevd, udevdsend \- udev event serializer daemon and udev event sender
|
|
.SH SYNOPSIS
|
|
.BI udevsend " hotplug-subsystem"
|
|
.SH "DESCRIPTION"
|
|
.B udevd
|
|
allows the serialization of
|
|
.BR hotplug (8)
|
|
events. The events generated by the kernel may arrive in random order
|
|
in userspace, that makes it neccessary to reorder them.
|
|
.br
|
|
.B udevd
|
|
takes care of the kernel supplied
|
|
.B SEQNUM
|
|
sequence number and arranges the events for execution in the correct order.
|
|
Missing sequences delay the execution of the following events until a timeout
|
|
is reached. Events without any sequence number are bypassing the queue and
|
|
will be executed immediately.
|
|
.br
|
|
For each event a
|
|
.BR udev (8)
|
|
instance is executed in the background with the complete environment received
|
|
by the hotplug event. All further events for the same device are delayed until
|
|
the execution is finished. This way there will never be more than one instance
|
|
running for a single device at the same time.
|
|
.br
|
|
.B udevd
|
|
receives the events from
|
|
.B udevsend
|
|
If
|
|
.B udevd
|
|
isn't already running,
|
|
.B udevsend
|
|
will start it.
|
|
.SH "SEE ALSO"
|
|
.BR udev (8),
|
|
.BR udevinfo (8),
|
|
.BR hotplug (8)
|
|
.SH AUTHORS
|
|
.B udevd
|
|
was developed primarily by Kay Sievers <kay.sievers@vrfy.org>, with much help
|
|
from others.
|