summaryrefslogtreecommitdiff
path: root/udev/udev-event.c
AgeCommit message (Collapse)Author
2011-03-23udevd: use facility == LOG_DAEMON when writing to /dev/kmsgKay Sievers
Syslog wants to distinguish the sorce of messages. We should indicate that this is a userspace message (LOG_DAEMON) and not a kernel message (LOG_KERNEL).
2011-03-15move /dev/.udev/ to /dev/.run/udev/ and convert old udev database at udevd ↵Kay Sievers
startup
2010-12-15libudev: record and export "age" of device recordKay Sievers
2010-12-14libudev: enumerate - allow to filter-out not-already-initialized devicesKay Sievers
2010-12-14check ifindex > 0 instead of subsystem == "net"Kay Sievers
2010-12-10udevd: use dev_t or netif ifindex as database keyKay Sievers
We need to preserve the database of network interfaces while we rename them. Use the kernel's numbers wherever possible, instead of the device names. Fix wrong database filenames which contain a '/', translated from '!' in the kernel name. Fix segfault for kobject pathes where the subsystem can not be determined from sysfs.
2010-10-18return proper error code in rename_netif()Kay Sievers
<Md> kay: can you look at rename_netif()? it returns -errno in a place, but I think that it may by changed by err() (at least) <kay> Md: yeah, that doesn't look correct
2010-08-19udevd: add pid to kmsg logsKay Sievers
2010-08-11do not rename the database on device renameKay Sievers
Harald Hoyer discovered some incorrect behavior while debugging problems with network interface renaming: Udev events might be queued for devices which are renamed. A new device registered the same time may claime the old name and create a database entry for it. The current rename logic would move over this databse entry to the wrong device.
2010-08-11always log error when renaming a network interface failsKay Sievers
2010-08-10udev-event.c: rename interface to <src>-<dest>, if <dest> takenHarald Hoyer
e.g. if eth0 should be eth3 and eth3 is waiting to be renamed, eth0 was renamed to eth0_rename. The kernel would take eth0 as the name for a new interface and this new eth0 could also become eth0_rename, if the target name is also taken. To prevent this name clash, the interfaces are now renamed to <src>-<dest> and the rename is logged.
2010-05-28udevd: read debug settings from kernel commandlineKay Sievers
2010-05-27while (1) -> for (;;)Kay Sievers
2010-05-20fix tests and allow MODE=000Kay Sievers
2010-05-20use default mode of 0600 for nodes if gid == 0Kay Sievers
2010-05-12reset process priority before executing RUN+=Kay Sievers
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581235
2010-05-05warn when renaming kernel-provided nodes instead of adding symlinksKay Sievers
2010-05-03remove unused parameter from udev_node_mknod()Kay Sievers
2010-04-23delete old tags when configuration changesKay Sievers
2010-04-22add TAG= to improve event filtering and device enumerationKay Sievers
2010-04-19delete only device nodes, not symlinks when deleting a devtmpfs nodeKay Sievers
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550152
2010-04-12log info only if we actually delete the nodeKay Sievers
2010-04-12unify/cleanup event handlingKay Sievers
2010-03-10libbudev-private: rename udev_list_entry_get_flag()Kay Sievers
2009-11-16remove "ignore_device"Kay Sievers
There is no way to ignore an event these days. Libudev events can not be suppressed. It only prevents RUN keys from being executed, which results in an inconsistent behavior in current setups.
2009-09-18rename interfaces to <iface>_rename if rename failsHarald Hoyer
2009-09-09simplify "symlink name stack"Kay Sievers
With well defined and kernel-supplied node names, we no longer need to support a possible stack of conflicting symlinks and node names. Only symlinks with identical names can be claimed by multiple devices. This shrinks the former /dev/.udev/names/ significantly. Also the /dev/{block,char}/MAJ:MIN" links are excluded from the name stack - they are unique and can not conflict.
2009-09-07util_run_program: restore signal mask before executing event RUN commandsJeremy Kerr
External programs triggered by events (via RUN=) will inherit udev's signal mask, which is set to block all but SIGALRM. For most utilities, this is OK, but if we start daemons from RUN=, we run into trouble (especially as SIGCHLD is blocked). This change saves the original sigmask when udev starts, and restores it just before we exec() the external command. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2009-08-30use nanosleep() instead of usleep()Daniel Mierswa
POSIX.1-2001 declares usleep() function obsolete and POSIX.1-2008 removes it. [Kay Sievers] - include time.h - use const for timespec - scsi_id: drop rand() in retry loop - modem-probe: rename msuspend() to msleep()
2009-08-19change database file namesKay Sievers
With very deeply nested devices, We can not use a single file name to carry an entire DEVPATH. Use <subsystem>:<sysname> as the database filename, which should also simplify the handling of devices moving around, as these values will not change but still be unique. For the name stack we use the <maj>:<min> now as the filename. > On Tue, Aug 18, 2009 at 09:59:56AM -0400, Ric Wheeler wrote: > The first is that udev grumbles during boot about "file name too long" > like the following: > > Aug 17 06:49:58 megadeth udevd-event[20447]: unable to create db file > '/dev/.udev/db/\x2fdevices\x2fpci0000:00\x2f0000:00:04.0\x2f0000:17:00.0\x2f0000:18:0a.0\x2f0000:1f:00.0\x2fhost11\x2fport-11:0\x2fexpander-11:0\x2fport-11:0:0\x2fexpander-11:1\x2fport-11:1:0\x2fexpander-11:2\x2fport-11:2:17\x2fexpander-11:3\x2fport-11:3:1\x2fend_device-11:3:1\x2fbsg\x2fend_device-11:3:1': > File name too long
2009-08-08fix spellingAlan Jenkins
Fix spelling in docbook comments, code comments, and a local variable name. Thanks to "ispell -h" for docbook HTML and "scspell" for source code. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
2009-08-06re-enable failed event trackingKay Sievers
It did not work for the last couple of releases. If RUN{record_failed}+="..." is given, a non-zero execution will mark the event as failed. Recorded failed events can be re-triggered with: udevadm trigger --type=failed The failed tracking _might_ be useful for things which might not be ready to be executed at early bootup, but a bit later when the needed dependencies are available. In many cases though, it indicates that something is used in a way it should not.
2009-08-01update a few years of copyrightKay Sievers
2009-07-23format names are not case insensitiveKay Sievers
2009-06-06cleanup $attr{} substitutionKay Sievers
2009-06-04udevd: convert to event worker processesKay Sievers
Event processes now get re-used after they handled an event. This reduces pressure on the CPU significantly because cloned event processes no longer cause page faults in the main daemon. After the events have settled, the no longer needed worker processes get killed.
2009-05-20use more efficient string copyingKay Sievers
2009-05-19remove format char string truncation syntaxKay Sievers
2009-05-04handle devtmpfs nodesKay Sievers
UDev follows the kernel given name, and re-uses the kernel created device node. If the kernel and spcecified udev rules disagree, the udev specified node node is created and the kernel-created on is deleted.
2009-04-28accept DEVNAME from the kernel as a hint for the node nameKay Sievers
2009-02-24use the event udev_device to disable the watch on "remove"Kay Sievers
2009-02-23Don't add inotify watch until RUN rules processed.Scott James Remnant
The programs we RUN can open device nodes, and thus we can end up chasing our own tail.
2009-02-11udevd: optionally watch device nodes with inotifyScott James Remnant
This allows you to re-process the rules if the content of the device has been changed, most useful for block subsystem to cause vol_id to be run again.
2009-01-21increase netif renaming timeout from 30 to 90 secondsKay Sievers
2009-01-16cleanup old names before creating the new namesKay Sievers
Scott found that the node /dev/pktcdvd can not be replaced by /dev/pktcdvd/control by changing the rules, and re-trigger the event. We used to create the new names before we cleaned up the old ones, which can not work if we need to create subdir with the same name.
2009-01-15udevadm: test - remove --force optionKay Sievers
Since a while we change the database with a "test" run, but do not update the node and symlinks. We need to "force" all the time, to keep things in sync.
2009-01-06libudev: device - add udev_device_get_property_value()Kay Sievers
2008-12-28if needed, store database entries also for devices which do not have a ↵Kay Sievers
device node
2008-12-02fix network interface name swappingKay Sievers
2008-11-17fix $links substitution for devices without any linkKay Sievers
Reported-by: Michel Hermier <michel.hermier@gmail.com>