forked from pool/libvirt
a0ca4c8c64
- util: skip RDMA detection for non-PCI network devices f38ef0fa-no-RDMA-check.patch bsc#1112182 OBS-URL: https://build.opensuse.org/request/show/684123 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=738
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
commit f38ef0fac0582ac0cbb749af9d3f8ba515a6084a
|
|
Author: Pavel Hrdina <phrdina@redhat.com>
|
|
Date: Thu Mar 7 17:52:55 2019 +0100
|
|
|
|
util: skip RDMA detection for non-PCI network devices
|
|
|
|
Only PCI devices have '/sys/class/net/<ifname>/device/resource' so we
|
|
need to skip this check for all other network devices.
|
|
|
|
Without this patch and RDMA enabled libvirt will not detect any network
|
|
device that doesn't have the path above which includes 'lo', 'virbr',
|
|
'tun', etc.
|
|
|
|
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1639258
|
|
|
|
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
|
|
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
|
|
|
|
Index: libvirt-5.1.0/src/util/virnetdev.c
|
|
===================================================================
|
|
--- libvirt-5.1.0.orig/src/util/virnetdev.c
|
|
+++ libvirt-5.1.0/src/util/virnetdev.c
|
|
@@ -2914,8 +2914,14 @@ virNetDevRDMAFeature(const char *ifname,
|
|
|
|
if (virAsprintf(ð_devpath, SYSFS_NET_DIR "%s/device/resource", ifname) < 0)
|
|
goto cleanup;
|
|
- if (!virFileExists(eth_devpath))
|
|
+
|
|
+ /* If /sys/class/net/<ifname>/device/resource doesn't exist it is not a PCI
|
|
+ * device and therefore it will not have RDMA. */
|
|
+ if (!virFileExists(eth_devpath)) {
|
|
+ ret = 0;
|
|
goto cleanup;
|
|
+ }
|
|
+
|
|
if (virFileReadAll(eth_devpath, RESOURCE_FILE_LEN, ð_res_buf) < 0)
|
|
goto cleanup;
|
|
|