From e52b37c27c267c882d82cd1e34412817b5a4dbce Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Wed, 18 Sep 2013 11:49:14 +0800 Subject: discover: Consolidate device path, name and ID. This change cleans up our usage of device path, names and IDs. Device ID is the kernel name for the device. We also expose this through lookup_by_name. Device path is the path to the dev node (ie, always starts with /dev/), and is only used for mounting. Signed-off-by: Jeremy Kerr --- discover/device-handler.c | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) (limited to 'discover/device-handler.c') diff --git a/discover/device-handler.c b/discover/device-handler.c index 11fb115..7a84302 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -86,11 +86,6 @@ struct discover_boot_option *discover_boot_option_create( return opt; } -static int device_match_path(struct discover_device *dev, const char *path) -{ - return dev->device_path && !strcmp(dev->device_path, path); -} - static int device_match_uuid(struct discover_device *dev, const char *uuid) { return dev->uuid && !strcmp(dev->uuid, uuid); @@ -130,26 +125,10 @@ static struct discover_device *device_lookup( struct discover_device *device_lookup_by_name(struct device_handler *handler, const char *name) { - struct discover_device *dev; - char *path; - - if (strncmp(name, "/dev/", strlen("/dev/"))) - path = talloc_asprintf(NULL, "/dev/%s", name); - else - path = talloc_strdup(NULL, name); - - dev = device_lookup_by_path(handler, path); + if (!strncmp(name, "/dev/", strlen("/dev/"))) + name += strlen("/dev/"); - talloc_free(path); - - return dev; -} - -struct discover_device *device_lookup_by_path( - struct device_handler *device_handler, - const char *path) -{ - return device_lookup(device_handler, device_match_path, path); + return device_lookup_by_id(handler, name); } struct discover_device *device_lookup_by_uuid( @@ -331,7 +310,7 @@ static struct discover_device *discover_device_create( struct event *event) { struct discover_device *dev; - const char *devname; + const char *devnode; dev = find_device(handler, event->device); if (dev) @@ -341,9 +320,9 @@ static struct discover_device *discover_device_create( dev->device = talloc_zero(dev, struct device); list_init(&dev->boot_options); - devname = event_get_param(ctx->event, "DEVNAME"); - if (devname) - dev->device_path = talloc_strdup(dev, devname); + devnode = event_get_param(ctx->event, "node"); + if (devnode) + dev->device_path = talloc_strdup(dev, devnode); dev->device->id = talloc_strdup(dev, event->device); dev->device->type = event_device_type(dev->device, event); -- cgit v1.2.1