[libvirt] [PATCH] Check disk target collision when parsing domain xml

Daniel P. Berrange berrange at redhat.com
Fri Aug 22 08:35:40 UTC 2008


On Thu, Aug 21, 2008 at 11:20:13PM -0400, Cole Robinson wrote:
> The current domain xml parsing doesn't check if disks
> are specified with duplicate targets ("hda" etc.). The
> attached patch adds a check for this.
> 
> Thanks,
> Cole
> 

> commit 27df1653474738a2ce83c89e7bdb2c4f7327f9b6
> Author: Cole Robinson <crobinso at dhcp-100-19-219.bos.redhat.com>
> Date:   Thu Aug 21 14:58:04 2008 -0400
> 
>     Check for duplicate disk targets when parsing domain xml.
> 
> diff --git a/src/domain_conf.c b/src/domain_conf.c
> index 6b23474..ed6cc8b 100644
> --- a/src/domain_conf.c
> +++ b/src/domain_conf.c
> @@ -1955,6 +1955,12 @@ static virDomainDefPtr virDomainDefParseXML(virConnectPtr conn,
>          } else {
>              virDomainDiskDefPtr ptr = def->disks;
>              while (ptr) {
> +                if (ptr->next && STREQ(disk->dst, ptr->next->dst)) {

I'm confused as to why you're comparing for dups against ptr->next->dst
instead of ptr->dst. It would seem to miss a duplication disk target
check for the very first device..

> +                    virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
> +                                         _("duplicate disk target '%s'"),
> +                                         disk->dst);
> +                    goto error;
> +                }
>                  if (!ptr->next || virDomainDiskCompare(disk, ptr->next) < 0) {
>                      disk->next = ptr->next;
>                      ptr->next = disk;

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list