Make the BMC reboot irreversible

Using irreversible ensures no other conflicting units
are started (or even queued)

Resolves openbmc/openbmc#1161

Change-Id: Ia937fc0271be896e5bc469129335ae29c7a79d69
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
diff --git a/bmc_state_manager.cpp b/bmc_state_manager.cpp
index 9929059..3539a30 100644
--- a/bmc_state_manager.cpp
+++ b/bmc_state_manager.cpp
@@ -122,11 +122,11 @@
                                             SYSTEMD_OBJ_PATH,
                                             SYSTEMD_INTERFACE,
                                             "StartUnit");
-
-    method.append(sysdUnit, "replace");
+    // The only valid transition is reboot and that
+    // needs to be irreversible once started
+    method.append(sysdUnit, "replace-irreversibly");
 
     this->bus.call(method);
-
     return;
 }