shared: document allocateUnit limitation on D-Bus fallback path

The D-Bus registration methods (RegisterMachineEx, RegisterMachineWithNetwork)
do not support the allocateUnit feature that the varlink path provides.
When varlink is unavailable and registration falls back to D-Bus, machined
discovers the caller's existing cgroup unit instead of creating a dedicated
scope. Callers that skip client-side scope allocation (relying on the
server to do it via allocateUnit) will end up without a dedicated scope
on the D-Bus fallback path.

Document this limitation at the fallback site so callers are aware.

Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
Christian Brauner
2026-04-06 21:42:15 +02:00
committed by Daan De Meyer
parent 2b77bbeb20
commit 6b3b9b1abd
+5 -1
View File
@@ -176,7 +176,11 @@ int register_machine(
log_debug_errno(r, "Failed to connect to machined via varlink%s%s, falling back to D-Bus: %m",
p ? " on " : "", strempty(p));
/* In case we are running with an older machined, fall back to D-Bus. */
/* In case we are running with an older machined, fall back to D-Bus. Note that the D-Bus
* methods do not support the allocateUnit feature — machined will look up the caller's
* existing cgroup unit instead of creating a dedicated scope. Callers that skip client-side
* scope allocation when allocate_unit is set should be aware that on the D-Bus path no scope
* will be created at all. */
if (!bus)
return log_debug_errno(SYNTHETIC_ERRNO(ESRCH), "Varlink connection to machined not available and no bus provided.");