static int testQemuHotplugAttach(virDomainObjPtr vm, virDomainDeviceDefPtr dev) { int ret = -1; switch (dev->type) { case VIR_DOMAIN_DEVICE_DISK: /* conn in only used for storage pool and secrets lookup so as long * as we don't use any of them, passing NULL should be safe */ ret = qemuDomainAttachDeviceDiskLive(NULL, &driver, vm, dev); break; case VIR_DOMAIN_DEVICE_CHR: ret = qemuDomainAttachChrDevice(&driver, vm, dev->data.chr); break; default: if (virTestGetVerbose()) fprintf(stderr, "device type '%s' cannot be attached\n", virDomainDeviceTypeToString(dev->type)); break; } return ret; }
static int testQemuHotplugDetach(virDomainObjPtr vm, virDomainDeviceDefPtr dev) { int ret = -1; switch (dev->type) { case VIR_DOMAIN_DEVICE_CHR: ret = qemuDomainDetachChrDevice(&driver, vm, dev->data.chr); break; default: if (virTestGetVerbose()) fprintf(stderr, "device type '%s' cannot be attached", virDomainDeviceTypeToString(dev->type)); break; } return ret; }
static int testQemuHotplugDetach(virDomainObjPtr vm, virDomainDeviceDefPtr dev) { int ret = -1; switch (dev->type) { case VIR_DOMAIN_DEVICE_DISK: ret = qemuDomainDetachDeviceDiskLive(&driver, vm, dev); break; case VIR_DOMAIN_DEVICE_CHR: ret = qemuDomainDetachChrDevice(&driver, vm, dev->data.chr); break; default: VIR_TEST_VERBOSE("device type '%s' cannot be detached\n", virDomainDeviceTypeToString(dev->type)); break; } return ret; }
static int testQemuHotplugUpdate(virDomainObjPtr vm, virDomainDeviceDefPtr dev) { int ret = -1; /* XXX Ideally, we would call qemuDomainUpdateDeviceLive here. But that * would require us to provide virConnectPtr and virDomainPtr (they're used * in case of updating a disk device. So for now, we will proceed with * breaking the function into pieces. If we ever learn how to fake those * required object, we can replace this code then. */ switch (dev->type) { case VIR_DOMAIN_DEVICE_GRAPHICS: ret = qemuDomainChangeGraphics(&driver, vm, dev->data.graphics); break; default: VIR_TEST_VERBOSE("device type '%s' cannot be updated\n", virDomainDeviceTypeToString(dev->type)); break; } return ret; }
static int testQemuHotplugAttach(virDomainObjPtr vm, virDomainDeviceDefPtr dev) { int ret = -1; switch (dev->type) { case VIR_DOMAIN_DEVICE_CHR: ret = qemuDomainAttachChrDevice(&driver, vm, dev->data.chr); if (!ret) { /* vm->def stolen dev->data.chr so we ought to avoid freeing it */ dev->data.chr = NULL; } break; default: if (virTestGetVerbose()) fprintf(stderr, "device type '%s' cannot be attached", virDomainDeviceTypeToString(dev->type)); break; } return ret; }