From 126db34a81bc9f9f9710408f88cceaa1e34bbbd7 Mon Sep 17 00:00:00 2001 From: Chen Hanxiao Date: Tue, 23 Jan 2018 12:24:44 +0800 Subject: [PATCH] qemu: Use VIR_ERR_DEVICE_MISSING for various hotplug messages Modify OPERATION_FAILED and INTERNAL_ERROR error codes to use DEVICE_MISSING instead for failures associated with the inability to find the device. This makes it easier for consumers to key off the error code rather than the error message. Signed-off-by: Chen Hanxiao Reviewed-by: John Ferlan --- src/conf/domain_conf.c | 8 ++++---- src/qemu/qemu_hotplug.c | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b83e31d8cc..01d168eb87 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -16320,7 +16320,7 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net) if (matchidx < 0) { if (MACAddrSpecified && PCIAddrSpecified) { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("no device matching MAC address %s found on " "%.4x:%.2x:%.2x.%.1x"), virMacAddrFormat(&net->mac, mac), @@ -16329,18 +16329,18 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net) net->info.addr.pci.slot, net->info.addr.pci.function); } else if (PCIAddrSpecified) { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("no device found on %.4x:%.2x:%.2x.%.1x"), net->info.addr.pci.domain, net->info.addr.pci.bus, net->info.addr.pci.slot, net->info.addr.pci.function); } else if (MACAddrSpecified) { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("no device matching MAC address %s found"), virMacAddrFormat(&net->mac, mac)); } else { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", + virReportError(VIR_ERR_DEVICE_MISSING, "%s", _("no matching device found")); } } diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a62dbe79e5..5be3e0659a 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3518,7 +3518,7 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver, int ret = -1; if (!olddev) { - virReportError(VIR_ERR_INTERNAL_ERROR, + virReportError(VIR_ERR_DEVICE_MISSING, _("cannot find existing graphics device to modify of " "type '%s'"), type); goto cleanup; @@ -4813,7 +4813,7 @@ int qemuDomainDetachControllerDevice(virQEMUDriverPtr driver, if ((idx = virDomainControllerFind(vm->def, dev->data.controller->type, dev->data.controller->idx)) < 0) { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("controller %s:%d not found"), virDomainControllerTypeToString(dev->data.controller->type), dev->data.controller->idx); @@ -5042,18 +5042,18 @@ int qemuDomainDetachHostDevice(virQEMUDriverPtr driver, if (idx < 0) { switch (subsys->type) { case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("host pci device %.4x:%.2x:%.2x.%.1x not found"), pcisrc->addr.domain, pcisrc->addr.bus, pcisrc->addr.slot, pcisrc->addr.function); break; case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB: if (usbsrc->bus && usbsrc->device) { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("host usb device %03d.%03d not found"), usbsrc->bus, usbsrc->device); } else { - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("host usb device vendor=0x%.4x product=0x%.4x not found"), usbsrc->vendor, usbsrc->product); } @@ -5062,13 +5062,13 @@ int qemuDomainDetachHostDevice(virQEMUDriverPtr driver, if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) { virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc = &scsisrc->u.iscsi; - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("host scsi iSCSI path %s not found"), iscsisrc->src->path); } else { virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host; - virReportError(VIR_ERR_OPERATION_FAILED, + virReportError(VIR_ERR_DEVICE_MISSING, _("host scsi device %s:%u:%u.%llu not found"), scsihostsrc->adapter, scsihostsrc->bus, scsihostsrc->target, scsihostsrc->unit); @@ -5106,7 +5106,7 @@ qemuDomainDetachShmemDevice(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; if ((idx = virDomainShmemDefFind(vm->def, dev)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, + virReportError(VIR_ERR_DEVICE_MISSING, _("model '%s' shmem device not present " "in domain configuration"), virDomainShmemModelTypeToString(dev->model)); @@ -5165,7 +5165,7 @@ qemuDomainDetachWatchdog(virQEMUDriverPtr driver, watchdog->model == dev->model && watchdog->action == dev->action && virDomainDeviceInfoAddressIsEqual(&dev->info, &watchdog->info))) { - virReportError(VIR_ERR_OPERATION_INVALID, + virReportError(VIR_ERR_DEVICE_MISSING, _("model '%s' watchdog device not present " "in domain configuration"), virDomainWatchdogModelTypeToString(watchdog->model)); @@ -5438,7 +5438,7 @@ int qemuDomainDetachChrDevice(virQEMUDriverPtr driver, char *devstr = NULL; if (!(tmpChr = virDomainChrFind(vmdef, chr))) { - virReportError(VIR_ERR_OPERATION_INVALID, + virReportError(VIR_ERR_DEVICE_MISSING, _("chr type '%s' device not present " "in domain configuration"), virDomainChrDeviceTypeToString(chr->deviceType)); @@ -5487,7 +5487,7 @@ qemuDomainDetachRNGDevice(virQEMUDriverPtr driver, int ret = -1; if ((idx = virDomainRNGFind(vm->def, rng)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, + virReportError(VIR_ERR_DEVICE_MISSING, _("model '%s' RNG device not present " "in domain configuration"), virDomainRNGBackendTypeToString(rng->model)); @@ -5532,7 +5532,7 @@ qemuDomainDetachMemoryDevice(virQEMUDriverPtr driver, qemuDomainMemoryDeviceAlignSize(vm->def, memdef); if ((idx = virDomainMemoryFindByDef(vm->def, memdef)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, + virReportError(VIR_ERR_DEVICE_MISSING, _("model '%s' memory device not present " "in the domain configuration"), virDomainMemoryModelTypeToString(memdef->model));