summaryrefslogtreecommitdiff
path: root/udevd.h
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-12-11 21:43:08 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 23:13:47 -0700
commit79721e0a7770b1a5874ef96cbf93a4c6bd19e138 (patch)
treee3f03a15854bd8e2d3e290f5d08653bfc9470b70 /udevd.h
parent0dfbe9451b47cfa0464f5d3ba232ceccf26ae189 (diff)
[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.
Diffstat (limited to 'udevd.h')
-rw-r--r--udevd.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/udevd.h b/udevd.h
index 31f07de826..1c4b1b88c2 100644
--- a/udevd.h
+++ b/udevd.h
@@ -47,6 +47,7 @@ struct hotplug_msg {
char *devpath;
char *subsystem;
unsigned long long seqnum;
+ char *physdevpath;
char *envp[HOTPLUG_NUM_ENVP+1];
char envbuf[];
};