diff options
author | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2017-08-23 11:05:58 +1000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2017-08-23 11:37:37 +1000 |
commit | b9b5fa357e5921eb752e62f7146339007d9f767f (patch) | |
tree | 6e63fed68340e6e9ee7b621e3b0944f03e405594 /discover | |
parent | 48ca02faa9816b158cb6fa56a4107701143cb212 (diff) | |
download | talos-petitboot-b9b5fa357e5921eb752e62f7146339007d9f767f.tar.gz talos-petitboot-b9b5fa357e5921eb752e62f7146339007d9f767f.zip |
discover/device-handler: Disable safe mode warning on reinit
If a user pressed "Rescan Devices" in safe mode the reinit would
complete successfully, but the big warning that safe mode is active
would remain. On reinit clear the safe_mode flag properly.
This has no functional change aside from clearing the UI warning - the
IPMI override remains active until cleared or a successful boot occurs.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'discover')
-rw-r--r-- | discover/device-handler.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c index ce3fc46..4e1b3ca 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -18,6 +18,7 @@ #include <process/process.h> #include <url/url.h> #include <i18n/i18n.h> +#include <pb-config/pb-config.h> #include <sys/sysmacros.h> #include <sys/types.h> @@ -393,6 +394,7 @@ void device_handler_reinit(struct device_handler *handler) { struct discover_boot_option *opt, *tmp; struct ramdisk_device *ramdisk; + struct config *config; unsigned int i; device_handler_cancel_default(handler); @@ -440,6 +442,14 @@ void device_handler_reinit(struct device_handler *handler) set_env_variables(config_get()); + /* If the safe mode warning was active disable it now */ + if (config_get()->safe_mode) { + config = config_copy(handler, config_get()); + config->safe_mode = false; + config_set(config); + discover_server_notify_config(handler->server, config); + } + device_handler_reinit_sources(handler); } |