Re: [PATCH 3/5] vmx: Refactor number parsing in virVMXParseConfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 03, 2019 at 02:44:52PM +0200, Peter Krempa wrote:
Parsing of the cpu affinity list was using virParseNumber. Modernize it
to get rid of the virParseNumber call.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
src/vmx/vmx.c | 56 ++++++++++++++++++---------------------------------
1 file changed, 20 insertions(+), 36 deletions(-)

diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 429630faaf..70d9443766 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -1500,43 +1500,35 @@ virVMXParseConfig(virVMXContext *ctx,
+        if (!(afflist = virStringSplitCount(sched_cpu_affinity, ",", 0, &naffs)))
+            goto cleanup;


-            if (number >= VIR_DOMAIN_CPUMASK_LEN) {
-                virReportError(VIR_ERR_INTERNAL_ERROR,
-                               _("VMX entry 'sched.cpu.affinity' contains a %d, "
-                                 "this value is too large"), number);
-                goto cleanup;
-            }

Even though an entry greater than VIR_DOMAIN_CPUMASK_LEN is unlikely, I
don't think a refactor should remove this check

+        if (naffs < numvcpus) {
+            virReportError(VIR_ERR_INTERNAL_ERROR,
+                           _("Expecting VMX entry 'sched.cpu.affinity' to contain "
+                             "at least as many values as 'numvcpus' (%lld) but "
+                             "found only %zu value(s)"), numvcpus, naffs);
+            goto cleanup;
+        }

-            ignore_value(virBitmapSetBit(def->cpumask, number));
-            ++count;
+        for (aff = afflist; *aff; aff++) {
+            const char *current = *aff;
+            unsigned int number;

With the check left in:
Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx>

Jano

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux