On 11/15/2011 12:22 AM, Hu Tao wrote: > On Mon, Nov 14, 2011 at 09:30:02PM -0700, Eric Blake wrote: >> From: Hu Tao <hutao@xxxxxxxxxxxxxx> >> >> Implement setting/getting per-device blkio weights in qemu, >> using the cgroups blkio.weight_device tunable. > > Does more than the function name says. Would it be better to just do the > parsing here, and set the cgroup values after parsing(see my comment to > patch 3 for filtering out 0-weight when writing to xml): ACK to your improvements for setting, but you forgot to do 0-weight filtering from the getting side: diff --git i/src/qemu/qemu_driver.c w/src/qemu/qemu_driver.c index a8fea6c..105bdde 100644 --- i/src/qemu/qemu_driver.c +++ w/src/qemu/qemu_driver.c @@ -6270,9 +6270,14 @@ static int qemuDomainGetBlkioParameters(virDomainPtr dom, case 1: /* blkiotune.device_weight */ if (vm->def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; + bool comma = false; for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (j) + if (!vm->def->blkio.devices[j].weight) + continue; + if (comma) virBufferAddChar(&buf, ','); + else + comma = true; virBufferAsprintf(&buf, "%s,%u", vm->def->blkio.devices[j].path, vm->def->blkio.devices[j].weight); @@ -6282,7 +6287,8 @@ static int qemuDomainGetBlkioParameters(virDomainPtr dom, goto cleanup; } param->value.s = virBufferContentAndReset(&buf); - } else { + } + if (!param->value.s) { param->value.s = strdup(""); if (!param->value.s) { virReportOOMError(); -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list