chiark / gitweb /
nspawn: use the corect method signature for CreateMachine()
authorLennart Poettering <lennart@poettering.net>
Tue, 2 Jul 2013 13:02:54 +0000 (15:02 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 2 Jul 2013 13:02:54 +0000 (15:02 +0200)
src/machine/machined-dbus.c
src/nspawn/nspawn.c

index a2e00d7..83a45b6 100644 (file)
@@ -42,7 +42,7 @@
 #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"     \
@@ -180,12 +180,6 @@ static int bus_manager_create_machine(Manager *manager, DBusMessage *message) {
             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)))
index 913e736..cfd88ef 100644 (file)
@@ -1168,16 +1168,16 @@ static int register_machine(void) {
                         "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;
         }