diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2016-12-13 10:13:24 +0800 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2016-12-20 16:40:21 +1100 |
commit | 79218d4fcb8cbf7e8844c13ccef3307d7424eb9d (patch) | |
tree | 30cca127cf85033717e5f2dfae80316c811aef73 | |
parent | f00b8c2d08e4ef57f2da0ed3b1701ed50331b91d (diff) | |
download | petitboot-79218d4fcb8cbf7e8844c13ccef3307d7424eb9d.zip petitboot-79218d4fcb8cbf7e8844c13ccef3307d7424eb9d.tar.gz |
discover/status: report on PXE download failures
Add dev_err messages on both autoconfiguration and
specified-configuration download failures.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rw-r--r-- | discover/pxe-parser.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/discover/pxe-parser.c b/discover/pxe-parser.c index 75d7e7e..c2d0ed5 100644 --- a/discover/pxe-parser.c +++ b/discover/pxe-parser.c @@ -250,18 +250,29 @@ static void pxe_conf_parse_cb(struct load_url_result *result, void *data) if (!data) return; + handler = talloc_parent(conf); + if (result && result->status == LOAD_OK) rc = read_file(conf, result->local, &buf, &len); if (!result || result->status != LOAD_OK || rc) { /* This load failed so try the next available filename */ info = conf->parser_info; - if (!info->pxe_conf_files) + if (!info->pxe_conf_files) { + device_handler_status_dev_err(handler, + conf->dc->device, + _("Failed to download %s"), + pb_url_to_string(result->url)); + return; + } info->current++; pxe_load_next_filename(conf); if (info->pxe_conf_files[info->current] == NULL) { /* Nothing left to try */ + device_handler_status_dev_err(handler, + conf->dc->device, + _("PXE autoconfiguration failed")); goto out_clean; } return; @@ -277,7 +288,6 @@ static void pxe_conf_parse_cb(struct load_url_result *result, void *data) /* We may be called well after the original caller of iterate_parsers(), * commit any new boot options ourselves */ - handler = talloc_parent(conf); device_handler_discover_context_commit(handler, conf->dc); /* |