Re: [PATCH] qemu: Check for existing hostdev address for cold attach device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 06, 2018 at 10:44:10AM -0400, John Ferlan wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1559867

Add a check if the incoming <hostdev ...> with specified <address>
already exists and if so fail the attach.


Looking at the reproducer steps, the bug talks about libvirt
auto-generating a duplicate address, not user-specified input.

Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx>
---
src/qemu/qemu_driver.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 38ea865ce3..7b4cdbcdcf 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -8014,6 +8014,12 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef,
                           _("device is already in the domain configuration"));
            return -1;
        }
+        if (dev->data.hostdev->info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
+            virDomainDefHasDeviceAddress(vmdef, dev->data.hostdev->info)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("a device with the same address already exists "));
+            return -1;
+        }

This does not fix the problem of autogenerating the address in any way
(which seems to work when I call attach --config while the domain is not
running).

Also, if we needded additional checks for guest addresses on attach,
we should either do it for all devices (and drop the calling of
per-domain postParse after adding a single device), or take care of the
conflicts in postParse.

Jano

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux