From bf81e792f3c0aed54edf004c1c95cc6f6d81d0ee Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Thu, 27 Mar 2014 21:47:14 +0100
Subject: [PATCH] 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.

Signed-off-by: Robert Milasan <rmilasan@suse.com>
---
 src/udev/udev-builtin-net_id.c  | 36 ------------------------------------
 src/udev/udev-builtin-path_id.c |  3 ---
 2 files changed, 39 deletions(-)

Index: systemd-210/src/udev/udev-builtin-net_id.c
===================================================================
--- systemd-210.orig/src/udev/udev-builtin-net_id.c
+++ systemd-210/src/udev/udev-builtin-net_id.c
@@ -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
         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_de
                                 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: systemd-210/src/udev/udev-builtin-path_id.c
===================================================================
--- systemd-210.orig/src/udev/udev-builtin-path_id.c
+++ systemd-210/src/udev/udev-builtin-path_id.c
@@ -571,9 +571,6 @@ static int builtin_path_id(struct udev_d
                 } 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");
