1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-30 14:55:26 +03:00
systemd-stable/udevd.8
kay.sievers@vrfy.org 79721e0a77 [PATCH] udevd: serialization of the event sequence of a chain of devices
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.
2005-04-26 23:13:47 -07:00

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.