On Tue, Nov 29, 2011 at 02:11:43PM -0700, Eric Blake wrote: > The next patch will make it possible to have virDomainSetBlkioParameters > leave device weights unchanged if they are not mentioned in the incoming > string, but this only works if the list of block weights does not allow > duplicate paths. Technically, a user can still confuse libvirt by > passing alternate spellings that resolve to the same device, but it > is not worth worrying about working around that kind of abuse. > > * src/conf/domain_conf.c (virDomainDefParseXML): Require unique > paths. > --- > src/conf/domain_conf.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index d50a5c7..8221c28 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c > @@ -6908,10 +6908,20 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, > goto no_memory; > > for (i = 0; i < n; i++) { > + int j; > if (virDomainBlkioDeviceWeightParseXML(nodes[i], > &def->blkio.devices[i]) < 0) > goto error; > def->blkio.ndevices++; > + for (j = 0; j < i; j++) { > + if (STREQ(def->blkio.devices[j].path, > + def->blkio.devices[i].path)) { > + virDomainReportError(VIR_ERR_XML_ERROR, > + _("duplicate device weight path '%s'"), > + def->blkio.devices[i].path); > + goto error; > + } > + } > } > VIR_FREE(nodes); > > -- > 1.7.7.3 ACK. -- Thanks, Hu Tao -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list