]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: Rename kexec reboot flag
authorDeepak Rawat <drawat.floss@gmail.com>
Wed, 31 Mar 2021 16:44:07 +0000 (09:44 -0700)
committerLennart Poettering <lennart@poettering.net>
Wed, 31 Mar 2021 19:43:45 +0000 (21:43 +0200)
Also change error message to be more meanigful. No change in
functionality.

Fixes: 0d96caa5c0
src/basic/login-util.h
src/login/logind-dbus.c
src/systemctl/systemctl-logind.c

index dc63fffdea37583db72daaeccdc08f4e9ec46d8b..841fd324f1606cd541738c15e33cc1ab72f70918 100644 (file)
@@ -5,12 +5,12 @@
 #include <unistd.h>
 
 #define SD_LOGIND_ROOT_CHECK_INHIBITORS           (UINT64_C(1) << 0)
-#define SD_LOGIND_KEXEC_REBOOT                    (UINT64_C(1) << 1)
+#define SD_LOGIND_REBOOT_VIA_KEXEC                (UINT64_C(1) << 1)
 
 /* For internal use only */
 #define SD_LOGIND_INTERACTIVE                     (UINT64_C(1) << 63)
 
-#define SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC (SD_LOGIND_ROOT_CHECK_INHIBITORS|SD_LOGIND_KEXEC_REBOOT)
+#define SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC (SD_LOGIND_ROOT_CHECK_INHIBITORS|SD_LOGIND_REBOOT_VIA_KEXEC)
 #define SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_ALL    (SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC|SD_LOGIND_INTERACTIVE)
 
 bool session_id_valid(const char *id);
index 532be12e7a3cf2dbd83c7e3bd45e5cdc1c00df8e..526bf21d97b2c3db200debe346a9477bf7c1eb87 100644 (file)
@@ -1880,8 +1880,8 @@ static int method_do_shutdown_or_sleep(
                         return r;
                 if ((flags & ~SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC) != 0)
                         return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid flags parameter");
-                if (!streq(unit_name, SPECIAL_REBOOT_TARGET) && (flags & SD_LOGIND_KEXEC_REBOOT))
-                        return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid flags parameter");
+                if (!streq(unit_name, SPECIAL_REBOOT_TARGET) && (flags & SD_LOGIND_REBOOT_VIA_KEXEC))
+                        return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Reboot via kexec is only applicable with reboot operations");
         } else {
                 /* Old style method: no flags parameter, but interactive bool passed as boolean in
                  * payload. Let's convert this argument to the new-style flags parameter for our internal
@@ -1895,7 +1895,7 @@ static int method_do_shutdown_or_sleep(
                 flags = interactive ? SD_LOGIND_INTERACTIVE : 0;
         }
 
-        if ((flags & SD_LOGIND_KEXEC_REBOOT) && kexec_loaded())
+        if ((flags & SD_LOGIND_REBOOT_VIA_KEXEC) && kexec_loaded())
                 unit_name = SPECIAL_KEXEC_TARGET;
 
         /* Don't allow multiple jobs being executed at the same time */
index 15e396ebd7a38301a4812776b992ac6fd0d1f738..28dd25b523dffb5e6d0887e39cbaaef9be1aa775 100644 (file)
@@ -80,7 +80,7 @@ int logind_reboot(enum action a) {
                 return 0;
 
         SET_FLAG(flags, SD_LOGIND_ROOT_CHECK_INHIBITORS, arg_check_inhibitors > 0);
-        SET_FLAG(flags, SD_LOGIND_KEXEC_REBOOT, a == ACTION_KEXEC);
+        SET_FLAG(flags, SD_LOGIND_REBOOT_VIA_KEXEC, a == ACTION_KEXEC);
 
         method_with_flags = strjoina(actions[a].method, "WithFlags");