From: Tom Gundersen Date: Thu, 27 Mar 2014 20:47:14 +0000 (+0100) Subject: udev: persistent naming - we cannot use virtio numbers as they are not stable X-Git-Tag: v213~512 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee udev: persistent naming - we cannot use virtio numbers as they are not stable This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. Distros may want to take note of this, as it changes behavior. --- diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c index 9ac07de7b..aa08196ad 100644 --- a/src/udev/udev-builtin-net_id.c +++ b/src/udev/udev-builtin-net_id.c @@ -37,7 +37,6 @@ * ccw -- CCW bus group name * o -- on-board device index number * s[f][d] -- hotplug slot index number - * v -- virtio number * x -- MAC address * [P]ps[f][d] * -- PCI geographical location @@ -123,7 +122,6 @@ struct netnames { char usb_ports[IFNAMSIZ]; char bcma_core[IFNAMSIZ]; - char virtio[IFNAMSIZ]; char ccw_group[IFNAMSIZ]; }; @@ -351,24 +349,6 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) { return 0; } -static int names_virtio(struct udev_device *dev, struct netnames *names) { - struct udev_device *virtdev; - unsigned int num; - - virtdev = udev_device_get_parent_with_subsystem_devtype(dev, "virtio", NULL); - if (!virtdev) - return -ENOENT; - - if (sscanf(udev_device_get_sysname(virtdev), "virtio%u", &num) != 1) - return -EINVAL; - /* suppress the common num == 0 */ - if (num > 0) - snprintf(names->virtio, sizeof(names->virtio), "v%u", num); - - names->type = NET_VIRTIO; - return 0; -} - static int names_ccw(struct udev_device *dev, struct netnames *names) { struct udev_device *cdev; const char *bus_id; @@ -577,22 +557,6 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); goto out; } - - /* virtio bus */ - err = names_virtio(dev, &names); - if (err >= 0 && names.type == NET_VIRTIO) { - char str[IFNAMSIZ]; - - if (names.pci_path[0]) - if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_path, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str); - - if (names.pci_slot[0]) - if (snprintf(str, sizeof(str), "%s%s%s", prefix, names.pci_slot, names.virtio) < (int)sizeof(str)) - udev_builtin_add_property(dev, test, "ID_NET_NAME_SLOT", str); - goto out; - } - out: return EXIT_SUCCESS; } diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c index 0599980a6..3ca59e011 100644 --- a/src/udev/udev-builtin-path_id.c +++ b/src/udev/udev-builtin-path_id.c @@ -542,9 +542,6 @@ static int builtin_path_id(struct udev_device *dev, int argc, char *argv[], bool } else if (streq(subsys, "xen")) { path_prepend(&path, "xen-%s", udev_device_get_sysname(parent)); parent = skip_subsystem(parent, "xen"); - } else if (streq(subsys, "virtio")) { - path_prepend(&path, "virtio-pci-%s", udev_device_get_sysname(parent)); - parent = skip_subsystem(parent, "virtio"); } else if (streq(subsys, "scm")) { path_prepend(&path, "scm-%s", udev_device_get_sysname(parent)); parent = skip_subsystem(parent, "scm");