X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=discover%2Fudev.c;h=5aa2898b0e55ffdb18a59f802e3e6100ed8fbe88;hb=f4d1abf7d2d066ee183d9cd588f336dc63f0da00;hp=e996e221228804d6a16a7a41aeb25463198800a8;hpb=995e08e3de9aaff81e72227587ffcb4cc78175d0;p=petitboot diff --git a/discover/udev.c b/discover/udev.c index e996e22..5aa2898 100644 --- a/discover/udev.c +++ b/discover/udev.c @@ -23,15 +23,6 @@ #include "pb-discover.h" #include "device-handler.h" -#if defined(DEBUG) -#define DBG(fmt, args...) pb_log("DBG: " fmt, ## args) -#define DBGS(fmt, args...) \ - pb_log("DBG:%s:%d: " fmt, __func__, __LINE__, ## args) -#else -#define DBG(fmt, args...) -#define DBGS(fmt, args...) -#endif - struct pb_udev { struct udev *udev; struct udev_monitor *monitor; @@ -73,6 +64,7 @@ static int udev_handle_dev_add(struct pb_udev *udev, struct udev_device *dev) const char *serial; const char *path; const char *name; + const char *prop; name = udev_device_get_sysname(dev); if (!name) { @@ -113,14 +105,19 @@ static int udev_handle_dev_add(struct pb_udev *udev, struct udev_device *dev) ddev = discover_device_create(udev->handler, name); - ddev->device_path = udev_device_get_devnode(dev); - ddev->uuid = udev_device_get_property_value(dev, "ID_FS_UUID"); - ddev->label = udev_device_get_property_value(dev, "ID_FS_LABEL"); + ddev->device_path = talloc_strdup(ddev, udev_device_get_devnode(dev)); + + prop = udev_device_get_property_value(dev, "ID_FS_UUID"); + if (prop) + ddev->uuid = talloc_strdup(ddev, prop); + prop = udev_device_get_property_value(dev, "ID_FS_LABEL"); + if (prop) + ddev->label = talloc_strdup(ddev, prop); ddev->device->type = DEVICE_TYPE_DISK; udev_setup_device_params(dev, ddev); - device_handler_discover(udev->handler, ddev, CONF_METHOD_LOCAL_FILE); + device_handler_discover(udev->handler, ddev); return 0; } @@ -318,7 +315,7 @@ struct pb_udev *udev_init(struct waitset *waitset, waiter_register_io(waitset, udev_monitor_get_fd(udev->monitor), WAIT_IN, udev_process, udev->monitor); - pb_log("%s: waiting on udev\n", __func__); + pb_debug("%s: waiting on udev\n", __func__); return udev;