RE: [ANNOUNCE] udev 0.1 release

Perez-Gonzalez, Inaky
2003-04-11T22:15:38Z

> From: Greg KH [mailto:greg@kroah.com]
>
> But I can do a lot to prevent losses. A lot of people around here point
> to the old way PTX used to regenerate the device naming database on the
> fly. We could do that by periodically scanning sysfs to make sure we
> are keeping /dev in sync with what the system has physically present.
> That's one way, I'm sure there are others.

This might be a tad over-simplification, but sysfs knows by heart when
anything
is modified, because it goes through it's interface. If we only care about,
for example, devices, we could hook up into device_create() [was this the
name?];
line up in a queue all the devices for which an plug/unplug event hasn't
been
delivered to user space and create symlinks in /sysfs/hotplug-events/.

Each entry in there is a symlink to the new device directory, named with an
increasing integer for easy serialization. When the event is fully
processed,
remove the entry from user space.

To avoid having to scan huge directories, it could be moved to have a single
file, event. When present, it means there are events available. It
represents
the head of the in-kernel event queue. Read it [or read the symlink] for
getting
the event information. If you remove it, that means the event is delivered.
If there is an event in the queue, the file is created again for that event.

Enhance it by creating another file for out-of-band events if needed ...

Iñaky Pérez-González -- Not speaking for Intel -- all opinions are my own
(and my fault)