From: Jeremy Kerr Date: Wed, 18 Sep 2013 03:49:14 +0000 (+0800) Subject: discover: Consolidate device path, name and ID. X-Git-Tag: v1.0.0~495 X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=e52b37c27c267c882d82cd1e34412817b5a4dbce 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 --- 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); diff --git a/discover/device-handler.h b/discover/device-handler.h index 0cd9c59..e71212c 100644 --- a/discover/device-handler.h +++ b/discover/device-handler.h @@ -78,8 +78,6 @@ int device_handler_event(struct device_handler *handler, struct event *event); struct discover_device *device_lookup_by_name(struct device_handler *handler, const char *name); -struct discover_device *device_lookup_by_path(struct device_handler *handler, - const char *path); struct discover_device *device_lookup_by_uuid(struct device_handler *handler, const char *uuid); struct discover_device *device_lookup_by_label(struct device_handler *handler, diff --git a/discover/udev.c b/discover/udev.c index d13ced7..f9eb26d 100644 --- a/discover/udev.c +++ b/discover/udev.c @@ -125,7 +125,8 @@ static int udev_handle_dev_action(struct udev_device *dev, const char *action) event->n_params = 0; event->params = NULL; - event_set_param(event, "DEVNAME", devnode); + event_set_param(event, "path", devpath); + event_set_param(event, "node", devnode); event_set_param(event, "type", devtype); udev_setup_event_params(dev, event);