Thanks Wen.<div>However, this patch only adds the checking but to make it work we really have to replace the driver name 'file' with 'qemu', don't we?</div><div><br></div><div>Thank you very much.</div>
<div>Shi<br><br><div class="gmail_quote">On Sun, Mar 6, 2011 at 11:35 PM, Wen Congyang <span dir="ltr"><<a href="mailto:wency@cn.fujitsu.com">wency@cn.fujitsu.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
This bug was reported by Shi Jin(<a href="mailto:jinzishuai@gmail.com">jinzishuai@gmail.com</a>):<br>
=============<br>
# virsh attach-disk RHEL6RC /var/lib/libvirt/images/test3.img vdb  --driver file --subdriver qcow2<br>
Disk attached successfully<br>
<br>
# virsh save RHEL6RC /var/lib/libvirt/images/memory.save<br>
Domain RHEL6RC saved to /var/lib/libvirt/images/memory.save<br>
<br>
# virsh restore /var/lib/libvirt/images/memory.save<br>
error: Failed to restore domain from /var/lib/libvirt/images/memory.save<br>
error: internal error unsupported driver name 'file' for disk '/var/lib/libvirt/images/test3.img'<br>
=============<br>
<br>
We have checked the driver name when we start or restore VM, but we do not check it while attaching<br>
a disk.<br>
<br>
Signed-off-by: Wen Congyang <<a href="mailto:wency@cn.fujitsu.com">wency@cn.fujitsu.com</a>><br>
<br>
---<br>
 src/qemu/qemu_driver.c |    8 ++++++++<br>
 1 files changed, 8 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c<br>
index 2892dfe..e94080d 100644<br>
--- a/src/qemu/qemu_driver.c<br>
+++ b/src/qemu/qemu_driver.c<br>
@@ -3994,6 +3994,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom,<br>
         goto endjob;<br>
<br>
     if (dev->type == VIR_DOMAIN_DEVICE_DISK) {<br>
+        if (dev->data.disk->driverName != NULL &&<br>
+            !STREQ(dev->data.disk->driverName, "qemu")) {<br>
+            qemuReportError(VIR_ERR_INTERNAL_ERROR,<br>
+                            _("unsupported driver name '%s' for disk '%s'"),<br>
+                            dev->data.disk->driverName, dev->data.disk->src);<br>
+            goto endjob;<br>
+        }<br>
+<br>
         if (qemuCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_DEVICES)) {<br>
             if (virCgroupForDomain(driver->cgroup, vm->def->name, &cgroup, 0) !=0 ) {<br>
                 qemuReportError(VIR_ERR_INTERNAL_ERROR,<br>
<font color="#888888">--<br>
1.7.1<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Shi Jin, Ph.D.<br><br>
</div>