[libvirt] [PATCH v2 1/1] tests/virhostdevtest: remove virHostdevHostSupportsPassthroughKVM

virhostdevtest is using pci mock to emulate all PCI attach/detach operations. This means that that this test does not rely on KVM support of the host anymore and the tests in this file shouldn't be affected by it. Suggested-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- tests/virhostdevtest.c | 61 +++++++++--------------------------------- 1 file changed, 12 insertions(+), 49 deletions(-) diff --git a/tests/virhostdevtest.c b/tests/virhostdevtest.c index 4e067b10d1..20eaca82e0 100644 --- a/tests/virhostdevtest.c +++ b/tests/virhostdevtest.c @@ -126,37 +126,6 @@ myInit(void) return -1; } -# if HAVE_LINUX_KVM_H -# include <linux/kvm.h> -static bool -virHostdevHostSupportsPassthroughKVM(void) -{ - int kvmfd = -1; - bool ret = false; - - if ((kvmfd = open("/dev/kvm", O_RDONLY)) < 0) - goto cleanup; - -# ifdef KVM_CAP_IOMMU - if ((ioctl(kvmfd, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU)) <= 0) - goto cleanup; - - ret = true; -# endif - - cleanup: - VIR_FORCE_CLOSE(kvmfd); - - return ret; -} -# else -static bool -virHostdevHostSupportsPassthroughKVM(void) -{ - return false; -} -# endif - static int testVirHostdevPreparePCIHostdevs_unmanaged(void) { @@ -483,12 +452,10 @@ testVirHostdevRoundtripUnmanaged(const void *opaque ATTRIBUTE_UNUSED) if (testVirHostdevDetachPCINodeDevice() < 0) goto out; - if (virHostdevHostSupportsPassthroughKVM()) { - if (testVirHostdevPreparePCIHostdevs_unmanaged() < 0) - goto out; - if (testVirHostdevReAttachPCIHostdevs_unmanaged() < 0) - goto out; - } + if (testVirHostdevPreparePCIHostdevs_unmanaged() < 0) + goto out; + if (testVirHostdevReAttachPCIHostdevs_unmanaged() < 0) + goto out; if (testVirHostdevReAttachPCINodeDevice() < 0) goto out; @@ -512,12 +479,10 @@ testVirHostdevRoundtripManaged(const void *opaque ATTRIBUTE_UNUSED) { int ret = -1; - if (virHostdevHostSupportsPassthroughKVM()) { - if (testVirHostdevPreparePCIHostdevs_managed(false) < 0) - goto out; - if (testVirHostdevReAttachPCIHostdevs_managed(false) < 0) - goto out; - } + if (testVirHostdevPreparePCIHostdevs_managed(false) < 0) + goto out; + if (testVirHostdevReAttachPCIHostdevs_managed(false) < 0) + goto out; ret = 0; @@ -544,12 +509,10 @@ testVirHostdevRoundtripMixed(const void *opaque ATTRIBUTE_UNUSED) if (testVirHostdevDetachPCINodeDevice() < 0) goto out; - if (virHostdevHostSupportsPassthroughKVM()) { - if (testVirHostdevPreparePCIHostdevs_managed(true) < 0) - goto out; - if (testVirHostdevReAttachPCIHostdevs_managed(true) < 0) - goto out; - } + if (testVirHostdevPreparePCIHostdevs_managed(true) < 0) + goto out; + if (testVirHostdevReAttachPCIHostdevs_managed(true) < 0) + goto out; if (testVirHostdevReAttachPCINodeDevice() < 0) goto out; -- 2.20.1

On 5/2/19 2:51 PM, Daniel Henrique Barboza wrote:
virhostdevtest is using pci mock to emulate all PCI attach/detach operations. This means that that this test does not rely on KVM support of the host anymore and the tests in this file shouldn't be affected by it.
Suggested-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- tests/virhostdevtest.c | 61 +++++++++--------------------------------- 1 file changed, 12 insertions(+), 49 deletions(-)
diff --git a/tests/virhostdevtest.c b/tests/virhostdevtest.c index 4e067b10d1..20eaca82e0 100644 --- a/tests/virhostdevtest.c +++ b/tests/virhostdevtest.c @@ -126,37 +126,6 @@ myInit(void) return -1; }
-# if HAVE_LINUX_KVM_H -# include <linux/kvm.h> -static bool -virHostdevHostSupportsPassthroughKVM(void) -{ - int kvmfd = -1; - bool ret = false; - - if ((kvmfd = open("/dev/kvm", O_RDONLY)) < 0) - goto cleanup; - -# ifdef KVM_CAP_IOMMU - if ((ioctl(kvmfd, KVM_CHECK_EXTENSION, KVM_CAP_IOMMU)) <= 0) - goto cleanup; - - ret = true; -# endif - - cleanup: - VIR_FORCE_CLOSE(kvmfd); - - return ret; -} -# else -static bool -virHostdevHostSupportsPassthroughKVM(void) -{ - return false; -} -# endif - static int testVirHostdevPreparePCIHostdevs_unmanaged(void) { @@ -483,12 +452,10 @@ testVirHostdevRoundtripUnmanaged(const void *opaque ATTRIBUTE_UNUSED)
if (testVirHostdevDetachPCINodeDevice() < 0) goto out; - if (virHostdevHostSupportsPassthroughKVM()) { - if (testVirHostdevPreparePCIHostdevs_unmanaged() < 0) - goto out; - if (testVirHostdevReAttachPCIHostdevs_unmanaged() < 0) - goto out; - } + if (testVirHostdevPreparePCIHostdevs_unmanaged() < 0) + goto out; + if (testVirHostdevReAttachPCIHostdevs_unmanaged() < 0) + goto out; if (testVirHostdevReAttachPCINodeDevice() < 0) goto out;
Huh, these branches were never run because as of v4.12-rc1~68^2~65 kernel commit the KVM_CAP_IOMMU is dropped. And looks like RHEL-7.6 backported the patch too (don't have anything older to test this on). This test could also use some cleanup. I'll post patches shortly. ACK to this one though. Will push it once the release is done. Michal
participants (2)
-
Daniel Henrique Barboza
-
Michal Privoznik