Age | Commit message (Collapse) | Author |
|
Move the wait_for_sysfs logic into the udev binary. udev is called for
every hotplug event. It also waits for /devices events.
|
|
|
|
If we don't have "name" or a "subsystem" don't look for it.
|
|
This will prevent a loop, if udev sends events back into the
daemon.
|
|
Fix from Sjoerd Simons <sjoerd@spring.luon.net>, it got lost
on the recent reorganization of the udev processing stages.
|
|
Forked scripts and callouts may want to follow udev's configured behavior
and log only if udev is logging itself.
|
|
|
|
|
|
> I just put const's at some places. It cut down data segments, but
> increased code size.
> Overall still smaller:
>
> -rwxr-xr-x 1 user users 50420 Nov 19 10:53 ../udev-046/udev
> -rwxr-xr-x 1 user users 49556 Nov 19 10:53 udev
> text data bss dec hex filename
> 47245 968 22480 70693 11425 ../udev-046/udev
> 48089 104 22064 70257 11271 udev
>
> Also, the instance of utsname in udev_lib.c is used only once.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Just move the event straight to the exec list and don't try
to compare a NULL pointer.
|
|
|
|
We get an empty line after every debug print from libsysfs,
so don't add a second if we already have one.
|
|
|
|
The slow logging facilites on some systems are a reason for
the reported slowness of udevstart. On one of my boxes udevstart
is down from 9 second to 0.3 seconds.
|
|
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.
|
|
This is long ago replaced by the unified key attribute
format SYSFS{attr}="value".
|
|
expect
Newer kernels will tell us if we should wait for the "device" or
the "bus" link. So don't waste the time with our lists or wait
for the timeout.
|
|
Match with a rule against a device with a specific kernel driver.
|
|
This should make it easier to catch e.g all block or net devices with
a single rule.
|
|
|
|
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.
|
|
|
|
|
|
[kay@pim udev.kay]$ ./udevinfo -r -q symlink -p /class/video4linux/video0
/dev/camera0 /dev/kamera0 /dev/videocam0 /dev/webcam0
[kay@pim udev.kay]$ ./udevinfo -q symlink -p /class/video4linux/video0
camera0 kamera0 videocam0 webcam0
|
|
"udev udevstart" will run udev as udevstart. This makes it easier
to run a test in the source tree without the need to create a
symlink.
|
|
|
|
The option "-s" will get information about the major/minor,
the physical device, the bus value and the driver from sysfs for
all class and block devices:
kay@pim udev.kay]$ ./udevinfo -s
DEVPATH '/sys/block/sda'
SUBSYSTEM 'block'
NAME 'sda'
MAJORMINOR '8:0'
PHYSDEVPATH '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/host2/target2:0:0/2:0:0:0'
PHYSDEVPATHBUS 'scsi'
DRIVER 'sd'
DEVPATH '/sys/class/input/mice'
SUBSYSTEM 'input'
NAME 'mice'
MAJORMINOR '13:63'
DEVPATH '/sys/class/input/mouse0'
SUBSYSTEM 'input'
NAME 'mouse0'
MAJORMINOR '13:32'
...
|
|
Make _all_ hotplug variables available to the forked udev,
the udev callouts and the udev dev.d/ scripts. We put the
whole environment into a buffer and send it over the udevd
socket. udevd recreates *envp[] and passes it to the exec().
|
|
|
|
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.
|
|
|
|
Hi,
Here is a few updates for the udev.rules.gentoo from udev package.
I will summarise it briefly:
1) The last change you did to legacy tty's is wrong.
I say this because:
1a) The original devfs rules had both master and slave in /dev/pty:
nosferatu linux # grep devfs_name drivers/char/pty.c
pty_driver->devfs_name = "pty/m";
pty_slave_driver->devfs_name = "pty/s";
nosferatu linux #
1b) If you refer to '2.6.8.1-mm1 Tty problems?', you will see that
the /dev/tty/ directory our rules create, replaces this symlink:
nosferatu portage # ls -l /dev/tty
crw-rw-rw- 1 root tty 5, 0 Nov 14 17:06 /dev/tty
nosferatu portage #
which is used to determine the controlling tty.
2) Somebody added the /dev/cpu/microcode rule, but it was not run
as there was an older rule before that placing it in /dev/misc (which
is wrong). Just remove the first broken rule
3) Some form/tab cleanups. Reorder rules alphabetically according to
device class to make searching/editing easier.
|
|
|
|
|
|
|
|
|
|
|
|
I thought I had fixed this a long time ago...
|
|
should fix a lot of gentoo bug reports
|
|
Should prevent false error reports from happening.
|
|
|
|
|