>> On 5/24/2016 at 03:23 AM, in message
<57435894.9080609(a)suse.com>, Jim Fehlig
<jfehlig(a)suse.com> wrote:
On 05/23/2016 12:51 AM, Chun Yan Liu wrote:
>
> Yes, I think it's OK. And another place needs to be updated, since now it's
> not only pci device, but also could be usb device, so the error message
> should be updated.
> if (virDomainHostdevFind(vmdef, hostdev, &found) >= 0) {
> - pcisrc = &hostdev->source.subsys.u.pci;
> virReportError(VIR_ERR_OPERATION_FAILED,
> - _("target pci device %.4x:%.2x:%.2x.%.1x\
> - already exists"),
> - pcisrc->addr.domain, pcisrc->addr.bus,
> - pcisrc->addr.slot, pcisrc->addr.function);
> + _("device already exists in domain
configuration"));
> return -1;
> }
Nice catch. I've squashed in the below diff, changing the error code and
message
to match the qemu driver.
That's better. Thanks very much!
- Chunyan
Regards,
Jim
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 5b6f87a..4d7124d 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -3293,7 +3293,6 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef,
virDomainDeviceDefPtr dev)
virDomainNetDefPtr net;
virDomainHostdevDefPtr hostdev;
virDomainHostdevDefPtr found;
- virDomainHostdevSubsysPCIPtr pcisrc;
char mac[VIR_MAC_STRING_BUFLEN];
switch (dev->type) {
@@ -3336,12 +3335,8 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef,
virDomainDeviceDefPtr dev)
}
if (virDomainHostdevFind(vmdef, hostdev, &found) >= 0) {
- pcisrc = &hostdev->source.subsys.u.pci;
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("target pci device %.4x:%.2x:%.2x.%.1x\
- already exists"),
- pcisrc->addr.domain, pcisrc->addr.bus,
- pcisrc->addr.slot, pcisrc->addr.function);
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("device is already in the domain
configuration"));
return -1;
}