+ /* we may also see multipath devices; same dev nodes (hence id), but
+ * different serial numbers */
+ serial = udev_device_get_property_value(dev, "ID_SERIAL");
+ if (serial && device_lookup_by_serial(udev->handler, serial))
+ return -1;
+
+ ddev = discover_device_create(udev->handler, name);
+
+ ddev->device_path = 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);