Age | Commit message (Collapse) | Author |
|
|
|
|
|
This will prevent incorrect symlinks when a filesystem
label is changed and the event is triggered again from
sysfs.
|
|
|
|
Add negative cache for attributes and look for device in cache before doing
any sysfs access. (Three times speed up for a stupid 1000 rules SYSFS file).
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Request specific parents identified by subsystem and don't rely on
a predefined sequence.
Also let the devpath be longer than 72 chars, tsss ...
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
We never used any of the libsysfs convenience features. Here we replace
it completely with 300 lines of code, which are much simpler and a bit
faster cause udev(d) does not open any syfs file for a simple event which
does not need any parent device information.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Multiple symlinks are separated by a space character.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
All udev state is kept in /$udev_root/.udev/ now. No option to
configure that anymore, it will always be there.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Most of the issues are fixed with the kernel we depend on, for the
remaing ones see the RELEASE-NOTES for a special rule to add.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Netlink will never get out-of-order and we just depend on it from
now on. Udevsend messages will have no effect if they contain a
sequence number (SEQNUM).
Thanks to Bastian Blank <waldi@debian.org>, for the debugging session
which identified a bug where the timeouts are not working if
inotify was not available. All the timeout handling is removed
now and this issue should be solved.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Any program can query with udevinfo for persistent device
attributes evaluated on device discovery now.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Handle all events with rules. If udev is expected to handle hotplug.d/
the exernal helper must be called.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Modern rules are expected to call notification and postprocessing with
the RUN key. For compatibility the current behavior can be emulated
with an external helper.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
The use of KEY:=<value> will make the key unchangeable by later rules.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
SUBSYSTEM=="block", RUN="/sbin/program"
will execute the program only for block device events.
ACTION="remove", SUBSYSTEM=="block", RUN"/sbin/program"
will execute the program, if a block device is removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%N will create a temporary node for a callout a be sustituted with the
name of the node.
|
|
With the "permissions only rules" we can just place:
MODE="0660", OWNER="root", GROUP="root"
at the beginning of the rules file and get exactly the same behavior.
If no values are given the compiled-in defaults are used.
|
|
On Sun, 2004-12-19 at 18:31 +0100, Marco d'Itri wrote:
> > On Dec 19, Kay Sievers <kay.sievers@vrfy.org> wrote:
>
> > (Feature request: would it be possible to extend the rules files parser
> > to support continuation lines? I'd like it to consider lines starting
> > with white space as part of the previous line.)
>
> How about the usual backslash at the end of the line. Here is a simple
> patch.
|
|
|
|
|
|
Initialize the defaults in udev_config.c instead of namedev.c.
Replace macro by expanded code. Switch to mode_t instead
of string value. Add and clarify some comments.
|
|
|
|
Remove udev.bus, cause it's currently unused and newer kernels will pass
it in the hotplug environment as PHYSDEVBUS.
Remove udev.action, cause it's unused.
Rename udev_set_values() to udev_init_device().
|
|
|
|
|
|
If /proc/sys/kernel/hotplug points to /sbin/udevsend we handle the whole
hotplug event with multiplexing /etc/hotplug.d/.
|
|
Some broken ide drivers are generating high event traffic, with
add/remove events. With this attribute, it can be specified,
that the node is always available. It may be used in conjunction
with the new DRIVER= match to catch specific kernel device drivers.
|
|
Move the logic when and how to call the dev.d/ scripts into the
main processing path.
|
|
Remove the overwriting of main_argv[] hack and use the values
from the udev object.
Pass the udev object to call_foreach_file().
In the udevstart case, export SUBSYSTEM and UDEVSTART to the
environment.
|
|
|
|
This makes the udev operation completely lockless by storing a
file for every node in /dev/.udevdb/* This solved the problem
with deadlocking concurrent udev processes waiting for each other
to release the file lock under heavy load.
|
|
|
|
Here we supress the dev.d/ execution if we didn't change a network
interface's name with a rule. This should solve the issue of two
running dhclients for the same interface, cause the
/etc/dev.d/net/hotplug.dev script that fakes the hotplug event runs
with every udevstart for every interface and fakes a second identical
hotplug event on bootup.
With this patch netif interfaces are no longer stored in the udevdb.
It is not needed, cause we don't have permissions or symlinks :) and
all information is available in sysfs.
This patch also moves the dev_d execution calls out of the
udev_add/udev_remove. As with the former api-cleanup-patch we have
all processed data in one udev struct and can place the execution
calls where needed.
|