summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-04-11udevd: fix synchronization with settle when handling inotify eventsDaniel Drake
udev uses inotify to implement a scheme where when the user closes a writable device node, a change uevent is forcefully generated. In the case of block devices, it actually requests a partition rescan. This currently can't be synchronized with "udevadm settle", i.e. this is not reliable in a script: sfdisk --change-id /dev/sda 1 81 udevadm settle mount /dev/sda1 /foo The settle call doesn't synchronize there, so at the same time we try to mount the device, udevd is busy removing the partition device nodes and readding them again. The mount call often happens in that moment where the partition node has been removed but not readded yet. This exact issue was fixed long ago: http://git.kernel.org/cgit/linux/hotplug/udev.git/commit/?id=bb38678e3ccc02bcd970ccde3d8166a40edf92d3 but that fix is no longer valid now that sequence numbers are no longer used. Fix this by forcing another mainloop iteration after handling inotify events before unblocking settle. If the inotify event caused us to generate a "change" event, we'll pick that up in the following loop iteration, before we reach the end of the loop where we respond to settle's control message, unblocking it.
2015-04-11udev: restore udevadm settle timeoutNir Soffer
Commit 9ea28c55a2 (udev: remove seqnum API and all assumptions about seqnums) introduced a regresion, ignoring the timeout option when waiting until the event queue is empty. Previously, if the udev event queue was not empty when the timeout was expired, udevadm settle was returning with exit code 1. To check if the queue is empty, you could invoke udevadm settle with timeout=0. This patch restores the previous behavior. (David: fixed timeout==0 handling and dropped redundant assignment)
2015-04-11boot/util: add ticks_read() stubKoen Kooi
2015-04-11boot/util: use x86 ASM only on x86 platforms.Koen Kooi
2015-04-11udev: builtin-keyboard: add support for EVDEV_ABS_*Peter Hutterer
Parse properties in the form EVDEV_ABS_00="<min>:<max>:<res>:<fuzz>:<flat>" and apply them to the kernel device. Future processes that open that device will see the updated EV_ABS range. This is particularly useful for touchpads that don't provide a resolution in the kernel driver but can be fixed up through hwdb entries (e.g. bcm5974). All values in the property are optional, e.g. a string of "::45" is valid to set the resolution to 45. The order intentionally orders resolution before fuzz and flat despite it being the last element in the absinfo struct. The use-case for setting fuzz/flat is almost non-existent, resolution is probably the most common case we'll need. To avoid multiple hwdb invocations for the same device, replace the hwdb "keyboard:" prefix with "evdev:" and drop the separate 60-keyboard.rules file. The new 60-evdev.rules is called for all event nodes anyway, we don't need a separate rules file and second callout to the hwdb builtin.
2015-04-11udev: builtin-keyboard: invert a conditionPeter Hutterer
No functional changes, just to make the next patch easier to review
2015-04-11udev: builtin-keyboard: move actual key mapping to a helper functionPeter Hutterer
No changes in the mapping, but previously we opened the device only on successful parsing. Now we open the mapping as soon as we have a value that looks interesting. Since errors are supposed to be the exception, not the rule, this is probably fine.
2015-04-11udev: builtin-keyboard: immediately EVIOCSKEYCODE when we have a pairPeter Hutterer
Rather than building a map and looping through the map, immediately call the ioctl when we have a successfully parsed property. This has a side-effect: before the maximum number of ioctls was limited to the size of the map (1024), now it is unlimited.
2015-04-11udev: builtin-keyboard: move fetching the device node upPeter Hutterer
No point parsing the properties if we can't get the devnode to apply them later. Plus, this makes future additions easier to slot in.
2015-04-11shared: move replace_env* from util to env-utilRonny Chevalier
2015-04-11shared: add terminal-util.[ch]Ronny Chevalier
2015-04-11shared: add random-util.[ch]Ronny Chevalier
2015-04-10shared: add process-util.[ch]Ronny Chevalier
2015-04-10shared: add formats-util.hRonny Chevalier
2015-04-10dbus: typo fix in logThomas Hindoe Paaboel Andersen
2015-04-10tmpfiles: fix build with clangThomas Hindoe Paaboel Andersen
Clang is not happy about using the cleanup attribute in switches
2015-04-10efivars: fix build for non-efiThomas Hindoe Paaboel Andersen
2015-04-10shared: boot-timestamps - remove ifdefTom Gundersen
No need to ifdef out efi code as the functions are always defined.
2015-04-10shared: efivars - fix compile on non-EFI systemsTom Gundersen
systemctl and logind were unconditionally using functions that were not compiled on non-EFI systems. Add stubs returning -EOPNOTSUPP to fix compile again.
2015-04-10shared: efivars - is_efi_*() returns bool instead of intTom Gundersen
There was a bug where is_efi_*() could return a negative error value, which would be treated as 'true', just make this a bool in the helper library to avoid the problem.
2015-04-10Revert "sd-dhcp-client: fix strict aliasing issue"Lennart Poettering
This reverts commit 6ec8e7c763b7dfa82e25e31f6938122748d1608f. This doesn't fix any issues, just makes the code harder to read.
2015-04-10sd-event: simplify sd_event_run()Lennart Poettering
2015-04-10tmpfiles: add specifier expansion for L and C lines, tooLennart Poettering
2015-04-10bus-util: be more verbose if dbus job failsMichal Sekletar
Users might have hard time figuring out why exactly their systemctl request failed. If dbus job fails try to figure out more details about failure by examining Result property of the service. https://bugzilla.redhat.com/show_bug.cgi?id=1016680
2015-04-10core: set_put never returns -EEXISTRonny Chevalier
When the value is already there it returns 0. Also add a test to ensure this
2015-04-10tmpfiles: enforce ordering when executing linesLennart Poettering
Always create files first, and then adjust their ACLs, xattrs, file attributes, never the opposite. Previously the order was not deterministic, thus possibly first adjusting ACLs/xattrs/file attributes before actually creating the items.
2015-04-10tmpfiles: eat up empty columnsLennart Poettering
2015-04-10tmpfiles: substitute % specifiers in arguments for writing files and xattrsLennart Poettering
2015-04-10tmpfiles: warn if we get an argument on lines that don't take anyLennart Poettering
2015-04-10tmpfiles: mostly revert 71044f609b829d802e0eb81270e13b4f55d76476Lennart Poettering
Add a comment why returning a positive error is OK and intended in this case. (It's still a nasty hack to do this though!)
2015-04-10device-nodes: minor simplificationsLennart Poettering
2015-04-10util: unify how we parse mode_t stringsLennart Poettering
2015-04-10util: remove normalize_env_assignment(), it's unusedLennart Poettering
2015-04-10shared: fix memleakRonny Chevalier
path was used for 2 purposes but it was not freed before being reused.
2015-04-10util: mark unquote() static, so that new code doesn't use this anymoreLennart Poettering
2015-04-10util: fix unicode decoding in unquote_first_word()Lennart Poettering
2015-04-10util: when unescaping C escape sequences support C++11 \u and \U unicode ↵Lennart Poettering
literals We simply recode them in utf8.
2015-04-09util: fix a typo in commentThomas Hindoe Paaboel Andersen
2015-04-09terminal/page: drop unneeded DISABLE_WARNING_*David Herrmann
The macros in shared/macro.h have been updated to no longer use fixed variable names. This will silence any shadowing-warnings, so drop the DISABLE_WARNING_* annotations.
2015-04-09bus: simplify bus_message_read_strv_extend()David Herrmann
Avoid unbound for(;;) loop and use the established coding-style: while ((r = sd_bus_message_read*(...)) > 0) { } if (r < 0) return r; This is much easier to read and used all over the code base.
2015-04-09bus: use free_and_strdup()David Herrmann
Save some LOCs by replacing strdup()+error-handling+free+assign with free_and_strdup().
2015-04-09terminal/idev: fix NULL terminator for bus-property mappingDavid Herrmann
We require a NULL entry as sentinal in bus_properties_map. Fix this!
2015-04-09test-journal-flush: fix memleakRonny Chevalier
2015-04-09util: cunescape - fix memleak in error pathRonny Chevalier
2015-04-09util: add shell_maybe_quote() call for preparing a string for shell cmdline ↵Lennart Poettering
inclusion If necessary the passed string is enclosed in "", and all special characters escapes. This also ports over usage in bus-util.c and job.c to use this, instead of a incorrect local implementation that forgets to properly escape.
2015-04-09vconsole: some modernizations, indentation fixesLennart Poettering
2015-04-09tmpfiles: properly return error code from path_set_acl()Lennart Poettering
2015-04-09tmpfiles: add file attribute calls to list of glob needing commandsLennart Poettering
2015-04-09vconsole: stick to kernel-style function error handlingLennart Poettering
This undoes part of 8931278c8a9ef7b60f6b6963486a9e9febb20a0d. We really should stick to kernel-style "int" return values from functions, and not covnert success into boolean returns.
2015-04-09networkd: do not assign the variable twiceThomas Hindoe Paaboel Andersen