summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "README: remove Coverity Scan badge""revert-11715-revert-11534-coverity2Evgeny Vereshchagin2019-04-251-1/+0
| | | | This reverts commit 93e4163e912b6895e61c43452a629f30a28eb70c.
* Merge pull request #12074 from poettering/io-acctZbigniew Jędrzejewski-Szmek2019-04-259-33/+365
|\ | | | | expose IO stats on the bus and in "systemctl status" and "systemd-run --wait"
| * systemctl: show IO stats in 'status' outputLennart Poettering2019-04-121-1/+14
| |
| * run: show IO stats in --wait resource outputLennart Poettering2019-04-121-0/+14
| |
| * core: include IO data in per-unit resource log msgLennart Poettering2019-04-121-4/+70
| |
| * croup: expose IO accounting data per unitLennart Poettering2019-04-125-3/+240
| | | | | | | | | | | | | | | | | | | | | | This was the last kind of accounting still not exposed on for each unit. Let's fix that. Note that this is a relatively simplistic approach: we don't expose per-device stats, but sum them all up, much like cgtop does. This kind of metric is probably the most interesting for most usecases, and covers the "systemctl status" output best. If we want per-device stats one day we can of course always add that eventually.
| * core: use string_table_lookup() at more placesLennart Poettering2019-04-122-18/+14
| |
| * core: add new call unit_reset_accounting()Lennart Poettering2019-04-125-6/+15
| | | | | | | | | | | | | | | | It's a simple wrapper for resetting both IP and CPU accounting in one go. This will become particularly useful when we also needs this to reset IO accounting (to be added in a later commit).
| * core: no need to initialize ip_accounting twiceLennart Poettering2019-04-121-1/+0
| |
| * cgroup: get rid of a local variableLennart Poettering2019-04-121-3/+1
| |
* | run: check if the specified calendar event is not in the pastFrantisek Sumsal2019-04-251-1/+19
| | | | | | | | | | Check if calendar event specification passed by --on-calendar runs in some time in the future. If not, execute the given command immediately
* | Merge pull request #12332 from cdown/default_minZbigniew Jędrzejewski-Szmek2019-04-255-27/+54
|\ \ | | | | | | cgroup: Add support for propagation of memory.min
| * | unit: Add DefaultMemoryMinChris Down2019-04-165-2/+24
| | |
| * | cgroup: Create UNIT_DEFINE_ANCESTOR_MEMORY_LOOKUPChris Down2019-04-161-25/+30
| | | | | | | | | | | | This is in preparation for creating unit_get_ancestor_memory_min.
* | | hwdb: add axis range corrections for the Dell Latitude e7250Dave Ross2019-04-251-0/+7
| | | | | | | | | Based on touchpad-edge-detector and dimensions confirmed with the owner's manual (https://content.etilize.com/User-Manual/1037738079.pdf)
* | | Merge pull request #12382 from yuwata/wireguard-12377Zbigniew Jędrzejewski-Szmek2019-04-252-32/+33
|\ \ \ | | | | | | | | network: fix ListenPort= in [WireGuard] section
| * | | network: fix ListenPort= in [WireGuard] sectionYu Watanabe2019-04-251-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug introduced by f1368a333e5e08575f0b45dfe41e936b106a8627. Fixes #12377.
| * | | test-network: fix invalid assertionsYu Watanabe2019-04-251-23/+23
| | | |
* | | | Merge pull request #12316 from ↵Zbigniew Jędrzejewski-Szmek2019-04-253-68/+82
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | yuwata/network-prevent-multiple-initialization-12315 network: prevent interfaces to be initialized multiple times
| * | | | network: fix ref/unref logic for Link objectYu Watanabe2019-04-253-57/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - bridge or bonding master takes a reference of slave links. - drop link from bridge or bonding master's slave list when slave link is removed. - change type of Link::slaves to Set*, Fixes #12315.
| * | | | network: prevent interfaces to be initialized multiple timesYu Watanabe2019-04-252-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a uevent is received during the relevant interface is in LINK_STATE_PENDING, then the interface may be initialized twice. To prevent that, this introduces LINK_STATE_INITIALIZED.
| * | | | network: logs link state changeYu Watanabe2019-04-171-0/+4
| | | | |
* | | | | udev,network: warn when .link or .network file has no [Match] sectionYu Watanabe2019-04-256-5/+34
| |/ / / |/| | | | | | | | | | | Closes #12098.
* | | | Merge pull request #12376 from mrc0mmand/deal-with-backslashes-in-completionZbigniew Jędrzejewski-Szmek2019-04-242-3/+12
|\ \ \ \ | | | | | | | | | | bash-completion: properly autocomplete escaped unit names
| * | | | bash-completion: unify indentationFrantisek Sumsal2019-04-241-1/+1
| | | | |
| * | | | bash-completion: properly autocomplete escaped unit namesFrantisek Sumsal2019-04-242-2/+11
| | | | |
* | | | | NEWS: List getty@tty1.service as not being enabled anymorePaul Menzel2019-04-241-2/+3
| | | | | | | | | | | | | | | | | | | | Fixes: https://github.com/systemd/systemd/issues/12345
* | | | | Merge pull request #12351 from keszybz/sd-bus-add-symbolLennart Poettering2019-04-2418-222/+934
|\ \ \ \ \ | | | | | | | | | | | | Add symbol to tell the linker that new libsystemd version is needed
| * | | | | meson: do not use f-stringsZbigniew Jędrzejewski-Szmek2019-04-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our travis CI still uses python3.5. I'm making this into a separate commit to make it easy to revert later.
| * | | | | man: document sd_bus_add_{object,fallback}_vtableZbigniew Jędrzejewski-Szmek2019-04-235-0/+613
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The interface provided by those two functions is huge, so this text could probably be made two or three times as long if all details were described. But I think it's a good start.
| * | | | | sd-bus: when running user find function don't trust the value to be initializedZbigniew Jędrzejewski-Szmek2019-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The find function is externally provided, and we shouldn't trust that the authors remember to set the output parameter in all cases.
| * | | | | busctl: add introspect --xml-interfaceZbigniew Jędrzejewski-Szmek2019-04-232-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This wraps the call to org.freedesktop.DBus.Introspectable.Introspect. Using "busctl call" directly is inconvenient because busctl escapes the string before printing. Example: $ busctl introspect --xml org.freedesktop.systemd1 /org/freedesktop/systemd1 | pygmentize -lxml | less -RF
| * | | | | test-bus-{vtable,introspect}: share data and test introspect_path()Zbigniew Jędrzejewski-Szmek2019-04-236-142/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test-bus-introspect is also applied to the tables from test-bus-vtable.c. test-bus-vtable.c is also used as C++ sources to produce test-bus-vtable-cc, and our hashmap headers are not C++ compatible. So let's do the introspection part only in the C version.
| * | | | | sd-bus: split introspection into the content creation and reply creation partsZbigniew Jędrzejewski-Szmek2019-04-235-41/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just moving code around, in preparation to allow the content creation part to be used in other places. On the surface of things, introspect_path() should be in bus-introspect.c, but introspect_path() uses many static helper functions in bus-objects.c, so moving it would require all of them to be exposed, which is too much trouble. test-bus-introspect is updated to actually write the closing bracket.
| * | | | | sd-bus: use _cleanup_ for struct introspectZbigniew Jędrzejewski-Szmek2019-04-232-30/+15
| | | | | |
| * | | | | sd-bus: allow vtable format structure to grow in the futureZbigniew Jędrzejewski-Szmek2019-04-232-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would check the size of sd_bus_vtable entries, requring one of the two known sizes. But we should be able to extend the structure in the future, by adding new fields, without breaking backwards compatiblity. Incidentally, this check was what caused -EINVAL failures before, when programs were compiled with systemd-242 and run with older libsystemd.
| * | | | | sd-bus: add symbol to tell linker that new vtable functions are usedZbigniew Jędrzejewski-Szmek2019-04-234-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 856ad2a86bd9b3e264a090fcf4b0d05bfaa91030 sd_bus_add_object_vtable() and sd_bus_add_fallback_vtable() were changed to take an updated sd_bus_vtable[] array with additional 'features' and 'names' fields in the union. The commit tried to check whether the old or the new table format is used, by looking at the vtable[0].x.start.element_size field, on the assumption that the added fields caused the structure size to grow. Unfortunately, this assumption was false, and on arm32 (at least), the structure size is unchanged. In libsystemd we use symbol versioning and a major.minor.patch semantic versioning of the library name (major equals the number in the so-name). When systemd-242 was released, the minor number was (correctly) bumped, but this is not enough, because no new symbols were added or symbol versions changed. This means that programs compiled with the new systemd headers and library could be successfully linked to older versions of the library. For example rpm only looks at the so-name and the list of versioned symbols, completely ignoring the major.minor numbers in the library name. But the older library does not understand the new vtable format, and would return -EINVAL after failing the size check (on those architectures where the structure size did change, i.e. all 64 bit architectures). To force new libsystemd (with the functions that take the updated sd_bus_vtable[] format) to be used, let's pull in a dummy symbol from the table definition. This is a bit wasteful, because a dummy pointer has to be stored, but the effect is negligible. In particular, the pointer doesn't even change the size of the structure because if fits in an unused area in the union. The number stored in the new unsigned integer is not checked anywhere. If the symbol exists, we already know we have the new version of the library, so an additional check would not tell us anything. An alternative would be to make sd_bus_add_{object,fallback}_vtable() versioned symbols, using .symver linker annotations. We would provide sd_bus_add_{object,fallback}_vtable@LIBSYSTEMD_221 (for backwards compatibility) and e.g. sd_bus_add_{object,fallback}_vtable@@LIBSYSTEMD_242 (the default) with the new implementation. This would work too, but is more work. We would have to version at least those two functions. And it turns out that the .symver linker instructions have to located in the same compilation unit as the function being annotated. We first compile libsystemd.a, and then link it into libsystemd.so and various other targets, including libsystemd-shared.so, and the nss modules. If the .symver annotations were placed next to the function definitions (in bus-object.c), they would influence all targets that link libsystemd.a, and cause problems, because those functions should not be exported there. To export them only in libsystemd.so, compilation would have to be rearranged, so that the functions exported in libsystemd.so would not be present in libsystemd.a, but a separate compilation unit containg them and the .symver annotations would be linked solely into libsystemd.so. This is certainly possible, but more work than the approach in this patch. 856ad2a86bd9b3e264a090fcf4b0d05bfaa91030 has one more issue: it relies on the undefined fields in sd_bus_vtable[] array to be zeros. But the structure contains a union, and fields of the union do not have to be zero-initalized by the compiler. This means that potentially, we could have garbarge values there, for example when reading the old vtable format definition from the new function implementation. In practice this should not be an issue at all, because vtable definitions are static data and are placed in the ro-data section, which is fully initalized, so we know that those undefined areas will be zero. Things would be different if somebody defined the vtable array on the heap or on the stack. Let's just document that they should zero-intialize the unused areas in this case. The symbol checking code had to be updated because otherwise gcc warns about a cast from unsigned to a pointer.
* | | | | | man: describe interaction with ProtectHome=/InaccessiblePaths= in BindMount=Zbigniew Jędrzejewski-Szmek2019-04-241-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/systemd/systemd/issues/7153#issuecomment-485252308 Apparently this is still confusing for people. Longer-term, I think we should just make BindMount= automatically "upgrade" (or "downgrade", depending on how you look at this), any InaccessiblePath= mountpoints to "tmpfs". I don't see much point in forcing users to remember this interaction. But let's at least document the status quo, we can always update the docs if the code changes.
* | | | | | core: immediately trigger watchdog action on WATCHDOG=triggerJan Klötzke2019-04-242-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A service might be able to detect errors by itself that may require the system to take the same action as if the service locked up. Add a WATCHDOG=trigger state change notification to sd_notify() to let the service manager know about the self-detected misery and instantly trigger the configured watchdog behaviour.
* | | | | | Merge pull request #12366 from lkundrak/lr/olpc-xo-175-keyboardLennart Poettering2019-04-241-10/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add support for OLPC XO-1.75 keyboard
| * | | | | | hwdb: Fix the key codes of the OLPC XO button padLubomir Rintel2019-04-231-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are not on a key pad. These codes are sent by the "rocker" buttons that resemble a game pad.
| * | | | | | hwdb: Fix the OLPC XO rotate keyLubomir Rintel2019-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment is incorrect -- this key code is sent by the rotate button, the brightness keys are separate.
| * | | | | | hwdb: No LEDs on the OLPC XO keyboardLubomir Rintel2019-04-231-0/+2
| | | | | | |
| * | | | | | hwdb: Make the OLPC XO rules also match XO-1.75Lubomir Rintel2019-04-231-1/+3
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | Uses the same keyboard, attached to the "Security Processor" P1J core that bit-bangs the PS/2 keyboard protocol.
* | | | | | Merge pull request #12367 from keszybz/accept-checkLennart Poettering2019-04-241-8/+16
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Put a limit on the loop to flush connections
| * | | | | basic/socket-util: put a limit on the loop to flush connectionsZbigniew Jędrzejewski-Szmek2019-04-231-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | Follow-up for #12346.
| * | | | | basic/socket-util: fix typo and reword commentZbigniew Jędrzejewski-Szmek2019-04-231-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Comment bike-shedding might be the ultimate form of procrastination, but I can't stop myself. :)
* | | | | | semaphore: merge semaphore scripts to avoid code duplication (#12365)Frantisek Sumsal2019-04-243-104/+111
| | | | | |
* | | | | | Merge pull request #12320 from ↵Zbigniew Jędrzejewski-Szmek2019-04-231-1/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | mrc0mmand/tweak-start-timeout-in-TEST-16-EXTEND-TIMEOUT test: don't timeout while waiting for other test units
| * | | | | test: don't timeout while waiting for other test unitsFrantisek Sumsal2019-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main testsuite service timeouts sporadically when waiting for other testsuite-* units. As the test timeout is handled by the "test executor" (test.sh), let's disable it for the service. This should (hopefully) fix the test flakiness.