chiark / gitweb /
udev: persistent naming - we cannot use virtio numbers as they are not stable
authorTom Gundersen <teg@jklm.no>
Thu, 27 Mar 2014 20:47:14 +0000 (21:47 +0100)
committerTom Gundersen <teg@jklm.no>
Thu, 27 Mar 2014 20:47:14 +0000 (21:47 +0100)
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.

src/udev/udev-builtin-net_id.c
src/udev/udev-builtin-path_id.c

index 9ac07de7bd6953474f91011e20ad0dccc798b3e1..aa08196adb3055e306ac4888c999c521d7c8277a 100644 (file)
@@ -37,7 +37,6 @@
  *   ccw<name>                             -- CCW bus group name
  *   o<index>                              -- on-board device index number
  *   s<slot>[f<function>][d<dev_id>]       -- hotplug slot index number
- *   v<number>                             -- virtio number
  *   x<MAC>                                -- MAC address
  *   [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]
  *                                         -- 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;
 }
index 0599980a6819c1d5fa8ba29d72e09414784d5d39..3ca59e011373a963d0282f01e32be33dfcc24a4c 100644 (file)
@@ -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");