| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The device-mapper driver can return a wild variety of errors when trying
to activate the same dm-verity volume concurrently, as it might happen
with an image. There is a fallback logic in place, but the original
return code was clobbered when userspace signature check was added.
Add it back.
Follow-up for c2fa92e7e8907d9
|
|\
| |
| | |
network: fixlets for manager state file
|
| |
| |
| |
| | |
Fixes #28566.
|
| |
| |
| |
| |
| | |
Note, currently dhcp6_lease_information_acquired() do nothing, so this
does not change any behavior.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, only servers that statically configursd or obtained by
DHCPv4 protocol are saved in the manager state file.
NTP servers obtained by DHCPv6 could not be used by timesyncd.
Fixes #29148.
|
|\ \
| |/
|/| |
network: several fixes for traffic control support
|
| |
| |
| |
| |
| | |
When the minor part of the parent handle is zero, let's check if the
corresponding qdisc exists, rather than tc class.
|
| |
| |
| |
| |
| |
| | |
Some qdiscs (e.g. tbf) implicitly create class(es) on create.
Previously, we could not create any child qdisc under the class, as the
implicit class is tagged as foreign.
|
| |
| |
| |
| |
| |
| | |
Some kind of qdisc implicitly creates a class for the qdisc, but the
created class is not notified by the kernel. So, we need to explicitly
enumerate classes after a qdisc is created.
|
| |
| |
| |
| | |
TC class can be enumerated only per link.
|
| |
| |
| |
| |
| |
| |
| | |
When a node of traffic control tree is removed, all child nodes are also
removed but their removal are not notified by the kernel.
So, previously, removed TC classes or qdiscs under the removed node were
kept in the memory of networkd, and may cause failure on reconfigure.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Let's move it out of cgroup.[ch]. The function primarily compares the
priority values for units, hence let's move the core of it into a new
function unit_compare_priority() in unit.[ch], and then make
compare_job_priority() a local wrapper for it in manager.[ch]
Shorten the code a bit while we are at it.
|
|\ \
| |/
|/| |
core: various clean-ups in cgroup.[ch] and around
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the only function that cgroup.h exports that is prefixed with
cgroup_ where this does not refer to some type such as CGroupContext or
CGroupTasksMax or so. It simply operates on a unit. And it doesn't even
modify a cgroup, but just modifies an nft set.
Hence, to make the naming scheme systematic, change prefix from cgroup_
to unit_, matching the majority of the functions that operate on Unit*
in the file.
|
| | |
|
| |
| |
| |
| | |
Split the function up, so that each set of xattrs is applied separately.
|
| |
| |
| |
| |
| |
| | |
We only pass the same thing there: u->cgroup_path or NULL (which is
ultimately the same as u->cgroup_path). Hence let's simplify things, and
simply drop the whole parameter, and imply u->cgroup_pat.
|
| |
| |
| |
| |
| |
| | |
They add settings to a CGroupContext, hence give them the expected
context, to make clear they do not operate on anything else than the
structure (i.e. not on a kernel cgroup or so).
|
| |
| |
| |
| |
| |
| |
| |
| | |
Almost all our enums/structs/funcs carry the CGroup prefix if they are
defined in cgroup.h, TasksMax so far does not, even though it is
exclusively used in cgroup context.
Change that.
|
|\ \
| | |
| | | |
varlink: several follow-ups
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
When 'exec' is true, 'c' is always non-NULL.
Fixes CID#1522384.
|
|/ / |
|
| |
| |
| |
| | |
Follow-ups for #29325.
|
|\ \
| | |
| | | |
Remove unnecessary wrapper functions
|
| | | |
|
| | |
| | |
| | |
| | | |
Same confusion as in previous commit.
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The naming was confused: suffix 'p' means that the function takes a pointer to
the type that the wrapped function takes. (E.g., a char**, for a wrapped function
taking a char*.) But DEFINE_TRIVIAL_DESTRUCTOR() just changes the return type.
Also add one more assert for consistency.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently only an auto-reboot-to-firmware entry is available. For other
features - like reboot and power off - one needs to press the uppercase
B and O respectively.
Embedded devices may be missing a full fledged keyboard, so allow for
sd-boot to generate those entries.
v2:
- add to the config parser/man/bootctl/sd-boot info screen
- keep them off by default
- add the (O)ff and re(B)oot help text if boot entries are not shown
- drop irrelevant get_os_indications_supported() comment
- s/ShutDown/Shutdown/
v3:
- cast shutdown_system() reboot_system() to void
v4:
- shutdown -> poweroff
- add trailing ",ignoring" in parser message
- drop explicit default state assignment to "false"
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As mentioned by Lennart:
... we typically suffix such messages with ", ignoring", to indicate
that we don't consider this fatal for anything.
Update config_defaults_load_from_file() to follow that pattern.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
| |
| |
| |
| |
| |
| |
| | |
When the assignment is missing, the default 0/NULL/false value is used.
So drop the explicit piece in config_load_defaults()
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|/
|
|
|
|
|
|
|
|
| |
As mentioned by Lennart, in a commit where I was adding similar piece of
code:
maybe cast this call to void, to tell static analyzers that we are
ignoring the return value on purpose, not by accident
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
|
|
|
|
|
| |
I am seeing some failures and I don't know what is failing and why even
with debug logs, so add more details
|
|\
| |
| | |
varlink: add introspection support + varlinkctl + varlinkify one first command line tool (systemd-pcrextend)
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is primarily supposed to be a 1st step with varlinkifying our
various command line tools, and excercise in how this might look like
across our codebase one day. However, at AllSystemsGo! 2023 it was
requested that we provide an API to do a PCR measurement along with a
matching event log record, and this provides that.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This call checks if we are invoked in a socket-activation Varlink server
context. It's useful for commands that can be run from the command line
or as Varlink service and then either serve commands from the cmdline or
those from Varlink.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a helper call that runs the specified VarlinkServer object in an
event loop, and exits once no more connections exist.
This is useful for pure varlink servers (i.e. those which only server
varlink requests and do nothing else), to run as long as there's
something to do and exit right after.
|
| |
| |
| |
| |
| |
| | |
This new helper will automatically take listening fds passed in from the
service manager and processes varlink on them. It's useful for Varlink
services that shall be socket activatable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a logic that if enabled ensures sd_event_exit() is called
whenever the varlink connection count hits zero.
This is useful for implementing pure Varlink services (i.e. services
whose only job is to serve Varlink requests), that shall run only as
long as needed, i.e. as long as at least one request is being served.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This error is a private error returned by PID 1 to oomd. It's internal,
and very specific to the use-case. Hence it should not be part of the
org.varlink.service interface (which isn't really our namespace anyway).
Hence, let's clean this up and move it over to the ManagedOOM varlink
interface of PID, where it belongs.
Since this is a private protocol of our two daemons, and the client
(i.e. oomd) doesn't explicitly test for this error anyway we can just
move it over without ill effects.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
default + hook up validator
Fixes: #23874
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
interfaces
The official org.varlink.service interface definition, as per:
https://varlink.org/Service
And the io.systemd service where we carry some super generic errors our
Varlink implementation generates.
|