summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-01-29 14:21:47 +1100
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-02-12 13:47:15 +1100
commitef13876e9feacc576724b7eba089d0483e84ceee (patch)
tree3fffeeaf44c51c91e5f685a2632813c7458fce5d
parent11c43508e4360456298a6dcb0563614e9a118b41 (diff)
downloadtalos-petitboot-ef13876e9feacc576724b7eba089d0483e84ceee.zip
talos-petitboot-ef13876e9feacc576724b7eba089d0483e84ceee.tar.gz
discover/device-handler: Treat empty boot order as 'boot any'
It is possible to have autoboot enabled with an empty boot order. Currently this acts as if autoboot is disabled, but it likely makes more sense to the user for this to behave as "autoboot any device". Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rw-r--r--discover/device-handler.c3
-rw-r--r--ui/ncurses/nc-config.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index 7a570f9..a6eb884 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -832,6 +832,9 @@ static enum default_priority default_option_priority(
int boot_match = autoboot_option_priority(config, opt);
if (boot_match > 0)
return boot_match;
+ } else {
+ /* If there is no specific boot order, boot any device */
+ return DEFAULT_PRIORITY_LOCAL_FIRST;
}
/* If the option didn't match any entry in the array, it is disabled */
diff --git a/ui/ncurses/nc-config.c b/ui/ncurses/nc-config.c
index 58bae29..8ffa5ef 100644
--- a/ui/ncurses/nc-config.c
+++ b/ui/ncurses/nc-config.c
@@ -203,7 +203,7 @@ static int screen_process_form(struct config_screen *screen)
const struct system_info *sysinfo = screen->cui->sysinfo;
enum net_conf_type net_conf_type;
struct interface_config *iface;
- bool allow_write, autoboot;
+ bool allow_write;
char *str, *end;
struct config *config;
int i, n_boot_opts, rc;
@@ -218,8 +218,8 @@ static int screen_process_form(struct config_screen *screen)
n_boot_opts = widget_subset_get_order(config, &order,
screen->widgets.boot_order_f);
- autoboot = widget_select_get_value(screen->widgets.autoboot_f);
- config->autoboot_enabled = autoboot && n_boot_opts;
+ config->autoboot_enabled = widget_select_get_value(
+ screen->widgets.autoboot_f);
config->n_autoboot_opts = n_boot_opts;
config->autoboot_opts = talloc_array(config, struct autoboot_option,
OpenPOWER on IntegriCloud