File ee3dc2c2-libxl-default-pcistub-name.patch of Package libvirt.22369

commit ee3dc2c2c8e5b2d3976e43dde95bc0aeeafbef4f
Author: Jim Fehlig <jfehlig@suse.com>
Date:   Mon Mar 1 15:41:44 2021 -0700

    libxl: Fix node device detach when driver unspecified
    
    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>

Index: libvirt-7.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-7.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.1.0/src/libxl/libxl_driver.c
@@ -5777,7 +5777,10 @@ libxlNodeDeviceDetachFlags(virNodeDevice
 
     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;
openSUSE Build Service is sponsored by