...
....
> @@ -3298,6 +3325,21 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
> return -1;
> }
>
> + /* Fully populate the IOThread ID list */
> + if (def->iothreads && def->iothreads != def->niothreadids) {
> + unsigned int iothread_id = 1;
> + while (def->niothreadids != def->iothreads) {
> + if (!virDomainIOThreadIDFind(def, iothread_id)) {
> + virDomainIOThreadIDDefPtr iothrid;
> +
> + if (!(iothrid = virDomainIOThreadIDAdd(def, iothread_id)))
> + return -1;
Unfortunately, fixing the iothread list after you parse iothread pinning
in patch 4 makes a loophole where you might force arbitrary iothread ID
without using <iothreadids>.
This code will probably need to be moved after the parsing code, despite
the fact that the postparse callback is better place to do such checks.
> + iothrid->autofill = true;
> + }
> + iothread_id++;
> + }
> + }
> +
> if (virDomainDefGetMemoryInitial(def) == 0) {
> virReportError(VIR_ERR_XML_ERROR, "%s",
> _("Memory size must be specified via <memory> or
in the "
The rest of this patch looks good, but I'd like to see the above part
fixed before my final ACK.
I'll move it and post v5 for 1/9 here as well as 4/9
I haven't yet got down to 8/9
I'd like to get this in before code freeze...
Tks -
John