#include "virt.h"
#define BUS_MANAGER_INTERFACE \
- " <interface name=\"org.freedesktop.machine1.Manager\">\n" \
+ " <interface name=\"org.freedesktop.machine1.Manager\">\n" \
" <method name=\"GetMachine\">\n" \
" <arg name=\"name\" type=\"s\" direction=\"in\"/>\n" \
" <arg name=\"machine\" type=\"o\" direction=\"out\"/>\n" \
dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
return -EINVAL;
- dbus_message_iter_get_basic(&iter, &slice);
- if (!(isempty(slice) || (unit_name_is_valid(slice, false) && endswith(slice, ".slice"))) ||
- !dbus_message_iter_next(&iter) ||
- dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
- return -EINVAL;
-
dbus_message_iter_get_basic(&iter, &root_directory);
if (!(isempty(root_directory) || path_is_absolute(root_directory)))
"CreateMachine",
&error,
NULL,
- "sayssuss",
+ "sayssusa(sv)",
arg_machine,
SD_BUS_APPEND_ID128(arg_uuid),
"nspawn",
"container",
(uint32_t) 0,
- strempty(arg_slice),
- strempty(arg_directory));
+ strempty(arg_directory),
+ 1, "Slice", "s", strempty(arg_slice));
if (r < 0) {
- log_error("Failed to register machine: %s", error.message);
+ log_error("Failed to register machine: %s", error.message ? error.message : strerror(-r));
return r;
}