]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: Fix node device detach when driver unspecified
authorJim Fehlig <jfehlig@suse.com>
Mon, 1 Mar 2021 22:41:44 +0000 (15:41 -0700)
committerJim Fehlig <jfehlig@suse.com>
Tue, 2 Mar 2021 14:52:14 +0000 (07:52 -0700)
Commit 887dd0d331 caused a small regression in NodeDeviceDetach in the libxl
driver when the 'driver' parameter is not specified. E.g.

# virsh nodedev-detach pci_0000_0a_10_0
error: Failed to detach device pci_0000_0a_10_0
error: An error occurred, but the cause is unknown

If the driver name is not specified, NULL is passed to
virDomainDriverNodeDeviceDetachFlags, in which case virPCIDeviceSetStubDriver
is never called to set the stub to pciback. Fix it by setting the driver to
"xen" if it is not specified when invoking NodeDeviceDetach.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/libxl/libxl_driver.c

index 434959d69411443e502a6d60800e67c76fd8102c..6657e69acb39eeb6236259a3632ff79625470048 100644 (file)
@@ -5776,7 +5776,10 @@ libxlNodeDeviceDetachFlags(virNodeDevicePtr dev,
 
     virCheckFlags(0, -1);
 
-    if (driverName && STRNEQ(driverName, "xen")) {
+    if (!driverName)
+        driverName = "xen";
+
+    if (STRNEQ(driverName, "xen")) {
         virReportError(VIR_ERR_INVALID_ARG,
                        _("unsupported driver name '%s'"), driverName);
         return -1;