chiark / gitweb /
nspawn: use the corect method signature for CreateMachine()
[elogind.git] / src / nspawn / nspawn.c
index 83be00231c20604d06f7b06097c789fb25375130..cfd88efc9e6943946c97397974bc4bbc3a984bb3 100644 (file)
@@ -175,7 +175,7 @@ static int parse_argv(int argc, char *argv[]) {
         assert(argc >= 0);
         assert(argv);
 
-        while ((c = getopt_long(argc, argv, "+hD:u:C:bM:jS:", options, NULL)) >= 0) {
+        while ((c = getopt_long(argc, argv, "+hD:u:bM:jS:", options, NULL)) >= 0) {
 
                 switch (c) {
 
@@ -1162,22 +1162,22 @@ static int register_machine(void) {
 
         r = sd_bus_call_method(
                         bus,
-                        "org.freedesktop.login1",
-                        "/org/freedesktop/login1",
-                        "org.freedesktop.login1.Manager",
+                        "org.freedesktop.machine1",
+                        "/org/freedesktop/machine1",
+                        "org.freedesktop.machine1.Manager",
                         "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;
         }