diff options
author | Michal Suchanek <msuchanek@suse.de> | 2018-03-28 15:15:16 +0200 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2018-03-30 10:44:37 +0200 |
commit | cb434cbe6f401037e448276bb12056d1fdc3dbfc (patch) | |
tree | 7f1c8b6ab1b1e685873ce0ce01db6c3832a10f24 | |
parent | 6259b12f5cc80fb90a20da36b6a232a493c6a3f8 (diff) | |
download | kexec-tools-cb434cbe6f401037e448276bb12056d1fdc3dbfc.tar.gz |
kexec: Do not special-case the -s option
It is parsed separately to save a few CPU cycles when setting up other
options but it just complicates the code. So fold it back and set up all
flags for both KEXEC_LOAD and KEXEC_FILE_LOAD
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | kexec/kexec.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/kexec/kexec.c b/kexec/kexec.c index b793f31e..68ae0594 100644 --- a/kexec/kexec.c +++ b/kexec/kexec.c @@ -1256,19 +1256,6 @@ int main(int argc, char *argv[]) }; static const char short_options[] = KEXEC_ALL_OPT_STR; - /* - * First check if --use-kexec-file-syscall is set. That changes lot of - * things - */ - while ((opt = getopt_long(argc, argv, short_options, - options, 0)) != -1) { - switch(opt) { - case OPT_KEXEC_FILE_SYSCALL: - do_kexec_file_syscall = 1; - break; - } - } - /* Reset getopt for the next pass. */ opterr = 1; optind = 1; @@ -1310,8 +1297,7 @@ int main(int argc, char *argv[]) do_shutdown = 0; do_sync = 0; do_unload = 1; - if (do_kexec_file_syscall) - kexec_file_flags |= KEXEC_FILE_UNLOAD; + kexec_file_flags |= KEXEC_FILE_UNLOAD; break; case OPT_EXEC: do_load = 0; @@ -1354,11 +1340,8 @@ int main(int argc, char *argv[]) do_exec = 0; do_shutdown = 0; do_sync = 0; - if (do_kexec_file_syscall) - kexec_file_flags |= KEXEC_FILE_ON_CRASH; - else - kexec_flags = KEXEC_ON_CRASH; - break; + kexec_file_flags |= KEXEC_FILE_ON_CRASH; + kexec_flags = KEXEC_ON_CRASH; case OPT_MEM_MIN: mem_min = strtoul(optarg, &endptr, 0); if (*endptr) { @@ -1383,7 +1366,7 @@ int main(int argc, char *argv[]) do_reuse_initrd = 1; break; case OPT_KEXEC_FILE_SYSCALL: - /* We already parsed it. Nothing to do. */ + do_kexec_file_syscall = 1; break; case OPT_STATUS: do_status = 1; |