summaryrefslogtreecommitdiff
path: root/udev
AgeCommit message (Collapse)Author
2009-03-18udevadm: monitor - clarify printed headerKay Sievers
2009-03-18udevadm: test - handling trailing '/' in devpathKay Sievers
On Wed, Mar 18, 2009 at 16:00, Matthias Schwarzott <zzam@gentoo.org> wrote: found out how the error occurs: It is a difference between A. udevadm test /sys/class/mem/null/ and B. udevadm test /sys/class/mem/null Case A was the case that showed the error behaviour. It seems udevadm is confused by the trailing slash. This behaviour seems to be there since ages.
2009-03-17udevadm: trigger - add "--action" to --helpRobby Workman
2009-03-12udevadm: settle - synchronise with the udev daemonScott James Remnant
There's still a slight race condition when using udevadm settle, if the udev daemon has a pending inotify event but hasn't yet generated the "change" uevent for it, the kernel and udev sequence numbers will match and settle will exit. Now udevadm settle will send a control message to udevd, which will respond by sending SIGUSR1 back to the waiting udevadm settle once it has completed the main loop iteration in which it received the control message. If there were no pending inotify events, this will simply wake up the udev daemon and allow settle to continue. If there are pending inotify events, they are handled first in the main loop so when settle is continued they will have been turned into uevents and the kernel sequence number will have been incremented. Since the inotify event is pending for udevd when the close() system call returns (it's queued as part of the kernel handling for that system call), and since the kernel sequence number is incremented by writing to the uevent file (as udevd does), this solves the race. When the settle continues, if there were pending inotify events that udevd had not read, they are now pending uevents which settle can wait for. Signed-off-by: Scott James Remnant <scott@ubuntu.com>
2009-03-11udevadm: settle - use timeout signal, instead of loop counterKay Sievers
2009-03-11libudev: ctrl - return error after sending ctrl messageKay Sievers
2009-03-07udevadm: add text for new options to command and man pageKay Sievers
2009-03-05udevd: switch watch symlinks to devpathKay Sievers
Some broken tools get confused following links to /sys, switch to link targets carrying the devpath instead of the syspath, like the queue links.
2009-03-04udevadm: settle - add --seq-start= --seq-end=Kay Sievers
It might be useful in some cases not to wait for "all" events. $ read START < /sys/kernel/uevent_seqnum $ (do something which may create uevents) $ udevadm settle --seq-start=$START
2009-03-04libudev: queue - use lstat() to check existence of symlinkKay Sievers
2009-03-03fix compile error in debug modeMichael Prokop
When building with './configure --enable-debug && make' it fails with: udev-rules.c: In function ‘dump_token’: udev-rules.c:366: error: ‘struct <anonymous>’ has no member named ‘i’ Signed-off-by: Michael Prokop <mika@grml.org>
2009-02-26udevadm: info - export all devices with --export-dbKay Sievers
2009-02-25add "nowatch" to disable a default installed watch with a later ruleKay Sievers
2009-02-24use the event udev_device to disable the watch on "remove"Kay Sievers
2009-02-24remove static local variableKay Sievers
2009-02-23Look at more inotify events in the buffer than just the first.Scott James Remnant
2009-02-23lookup the old watch handle; reload only if has a pathScott James Remnant
2009-02-23Output watch handle in udevadm info.Scott James Remnant
2009-02-23Put a log message in a more sensible place.Scott James Remnant
2009-02-23Use the udevdb to speed up watch clearing.Scott James Remnant
Also return a udev_device when looking up by handle as well, so everything works the same way.
2009-02-23Store watch handle in db.Scott James Remnant
2009-02-23Allow watch handle to be stored in the udevdb.Scott James Remnant
2009-02-23Cleanup a little.Scott James Remnant
Move some of the checks into udev_watch_begin() and udev_watch_clear() so we don't have to repeat them all the time.
2009-02-23Clear existing inotify watch before processing.Scott James Remnant
Likewise when re-processing an event, we want to drop the existing inotify watch first to avoid side-effects.
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-13rules: add "watch" option to dm and md rulesKay Sievers
2009-02-11use global "reload_config" flagKay Sievers
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-02-08fix NAME= and OPTION+="string_escape=..." logicKay Sievers
Scott discovered this silly bug.
2009-02-05test: add test for empty and non-existent ATTRKay Sievers
2009-01-30fix NAME="" logicKay Sievers
Reported-By: Soh Kam Yung <sohkamyung@gmail.com>
2009-01-25man: fix grammarKay Sievers
Reported-by: Robert Peterson <rpeterso@redhat.com>
2009-01-23udevadm: settle - fix typoKay Sievers
2009-01-21udevd: add back SA_RESTARTKay Sievers
<Keybuk> poll, select, ppoll, pselect, epoll, etc. are *explicitly* NOT restarted in case of signal <kay> ok
2009-01-21split up long lineKay Sievers
2009-01-21Merge commit '9032f119f07ad3b5116b3d4858816d851d4127de'Kay Sievers
2009-01-21Merge commit '5f03ed8a56d308af72db8a48ab66ed68667af2c6'Kay Sievers
Conflicts: udev/udevd.c
2009-01-21increase netif renaming timeout from 30 to 90 secondsKay Sievers
2009-01-21reap children fasterOlaf Kirch
udevd's event_queue_manager loop is pretty sensitive to the delays of exiting child processes. I found that it helps boot times if we try to reap children as quickly as possible. This patch changes event_queue_manager to call sigchilds_waiting if it finds a signal has been received. Signed-off-by: Olaf Kirch <okir@suse.de>
2009-01-21open-code pollfd setupKay Sievers
2009-01-20Expose delayed name resolutionScott James Remnant
udevd had the ability to delay name resolution until the event, but this was never exposed. Add a --resolve-names=late option to do so.
2009-01-20Allow user and group lookup to be disabled.Scott James Remnant
In certain cut-down situations such as an installer or inside the initramfs, we simply don't have any kind of name service. While we could use rules without OWNER or GROUP, it's better to have the same rules as a full system and have udevd ignore those parts of the rules. Adds a --resolve-names=never switch to udevd that has this effect.
2009-01-20udevd: use ppoll instead of signal pipesOlaf Kirch
udevd uses a rather old-fashioned way of handling signals while waiting for input through select (ie by using an unnamed pipe, to which the signal handler writes one byte for every signal received). This is rather awkward and may potentially even block if we receive more signals than the kernel's pipe buffer. This patch replaces all of that with ppoll, which was designed for this purpose. It also removes the SA_RESTART flag from all installed signal handlers, because otherwise the ppoll call would just be restarted after handling eg a SIGCHLD. Signed-off-by: Olaf Kirch <okir@suse.de>
2009-01-16remove stray initializerAlan Jenkins
Picked up by "gcc -Wextra". udevadm.c:83: warning: initialized field overwritten udevadm.c:83: warning: (near initialization for ‘cmds[2].help’) This is just a cleanup. It doesn't change the code generated by gcc.
2009-01-16man: typo fixesAlan Jenkins
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-16remove name from index if the node name has changedKay Sievers
Scott discovered that a changed rule, which renames a device node leaves the old node name around as a symlink. So drop the reference to the old 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-15do not complain about a missing /etc/udev/rules.d/Kay Sievers
Scott mentioned that initramfs does not neccessarily have that directory, so do not log an error.
2009-01-14libudev: use 4096 bytes buffer for attribute readingKay Sievers