summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-05-08 21:09:05 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-05-09 08:39:49 +0800
commit263e31240d97484619f55630f625257dc874c5d0 (patch)
tree37ae4718b7db726697fc9e38c84582889cae03b9
parentdc77d447920c6af88009ceea8b23a2172701d32b (diff)
downloadtalos-petitboot-263e31240d97484619f55630f625257dc874c5d0.tar.gz
talos-petitboot-263e31240d97484619f55630f625257dc874c5d0.zip
discover: handle boot_option->device_id entirely within handler
No need for parsers to populate (or forget to populate, in the case of most parsers) opt->device_id, as we should do it on finalise. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r--discover/device-handler.c3
-rw-r--r--discover/event-parser.c1
-rw-r--r--discover/pxe-parser.c3
3 files changed, 4 insertions, 3 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index 0fc6d75..43171eb 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -75,6 +75,7 @@ static void boot_option_finalise(struct discover_boot_option *opt)
assert(!opt->option->boot_image_file);
assert(!opt->option->initrd_file);
assert(!opt->option->icon_file);
+ assert(!opt->option->device_id);
if (opt->boot_image)
opt->option->boot_image_file = opt->boot_image->url->full;
@@ -82,6 +83,8 @@ static void boot_option_finalise(struct discover_boot_option *opt)
opt->option->initrd_file = opt->initrd->url->full;
if (opt->icon)
opt->option->icon_file = opt->icon->url->full;
+
+ opt->option->device_id = opt->device->device->id;
}
static void process_boot_option_queue(struct device_handler *handler)
diff --git a/discover/event-parser.c b/discover/event-parser.c
index 45d7b3a..240f897 100644
--- a/discover/event-parser.c
+++ b/discover/event-parser.c
@@ -64,7 +64,6 @@ int parse_user_event(struct discover_context *ctx, struct event *event)
}
opt->id = talloc_asprintf(opt, "%s#%s", dev->id, p);
- opt->device_id = talloc_strdup(opt, dev->id);
opt->name = talloc_strdup(opt, p);
d_opt->boot_image = user_event_resource(d_opt, event, "image");
diff --git a/discover/pxe-parser.c b/discover/pxe-parser.c
index 662716a..c300b69 100644
--- a/discover/pxe-parser.c
+++ b/discover/pxe-parser.c
@@ -28,10 +28,9 @@ static void pxe_process_pair(struct conf_context *ctx,
opt = discover_boot_option_create(ctx->dc, ctx->dc->device);
ctx->parser_info = opt;
- opt->option->device_id = ctx->dc->device->device->id;
opt->option->name = talloc_strdup(opt, value);
opt->option->id = talloc_asprintf(opt, "%s@%p",
- opt->option->device_id, opt);
+ ctx->dc->device->device->id, opt);
return;
}
OpenPOWER on IntegriCloud