
At 03/07/2011 07:17 PM, Daniel P. Berrange Write:
On Mon, Mar 07, 2011 at 02:35:49PM +0800, Wen Congyang wrote:
This bug was reported by Shi Jin(jinzishuai@gmail.com): ============= # virsh attach-disk RHEL6RC /var/lib/libvirt/images/test3.img vdb --driver file --subdriver qcow2 Disk attached successfully
# virsh save RHEL6RC /var/lib/libvirt/images/memory.save Domain RHEL6RC saved to /var/lib/libvirt/images/memory.save
# virsh restore /var/lib/libvirt/images/memory.save error: Failed to restore domain from /var/lib/libvirt/images/memory.save error: internal error unsupported driver name 'file' for disk '/var/lib/libvirt/images/test3.img' =============
We have checked the driver name when we start or restore VM, but we do not check it while attaching a disk.
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
--- src/qemu/qemu_driver.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2892dfe..e94080d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3994,6 +3994,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom, goto endjob;
if (dev->type == VIR_DOMAIN_DEVICE_DISK) { + if (dev->data.disk->driverName != NULL && + !STREQ(dev->data.disk->driverName, "qemu")) { + qemuReportError(VIR_ERR_INTERNAL_ERROR, + _("unsupported driver name '%s' for disk '%s'"), + dev->data.disk->driverName, dev->data.disk->src); + goto endjob; + } + if (qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_DEVICES)) { if (virCgroupForDomain(driver->cgroup, vm->def->name, &cgroup, 0) !=0 ) { qemuReportError(VIR_ERR_INTERNAL_ERROR,
ACK, though the check for 'DriverName != NULL' is redundant, since the XML parser guarentees this is non-NULL these days.
Hi, Daniel PB, and Eric Blake Can you push this patch?
Daniel