[libvirt] [PATCH] check driver name while attaching disk

Shi Jin jinzishuai at gmail.com
Mon Mar 7 14:20:10 UTC 2011


Thanks Wen.
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?

Thank you very much.
Shi

On Sun, Mar 6, 2011 at 11:35 PM, Wen Congyang <wency at cn.fujitsu.com> wrote:

> This bug was reported by Shi Jin(jinzishuai at 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 at 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,
> --
> 1.7.1
>



-- 
Shi Jin, Ph.D.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110307/07326bbb/attachment-0001.htm>


More information about the libvir-list mailing list