From nobody Thu May 2 03:23:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1525439721569612.3831826531496; Fri, 4 May 2018 06:15:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5214B30B79F4; Fri, 4 May 2018 13:15:20 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 214BD20154EE; Fri, 4 May 2018 13:15:20 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A1C2C180BAE5; Fri, 4 May 2018 13:15:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w44DFHDZ010084 for ; Fri, 4 May 2018 09:15:17 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9E29730001DF; Fri, 4 May 2018 13:15:17 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 96951309128B for ; Fri, 4 May 2018 13:15:15 +0000 (UTC) Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3D4528046E for ; Fri, 4 May 2018 13:15:04 +0000 (UTC) Received: by mail-pg0-f65.google.com with SMTP id 82-v6so15436948pge.11 for ; Fri, 04 May 2018 06:15:04 -0700 (PDT) Received: from falcon.iitm.ac.in ([14.139.160.241]) by smtp.gmail.com with ESMTPSA id a4sm11834109pfj.19.2018.05.04.06.15.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 May 2018 06:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=AjeblLDamWPZkSc9ksCSPt/W4P9D8DAqWmFmsV5UY2I=; b=XGbB/oU7Udj8FI00bswPfm6cS2FIv2yzVkMXyb8jSS0DabJ1Ve6RWQaJx5avGzULeH k+S1L0MOsXlTUbpiFlmYDnUH3jKD8E2uHMhrcNV7bsnJglZXDywaAkPU1QJpRUo1dVmt oz1NwULzVTBJaOb+m/ZeQs1A+2yE8HO1Z9zfp8eSLImUYud0xfayOG4NHS/7WD21to1d MY9qSk4iQ9j8YRnQzQSoQHCj1ziukMG+2bJ0YUpN5qynuKLefP/JNsXmacdBcZdA1rTB lxgMmIicn3DRxmznWTmaXJLScIlgAde4pDTYg29WwliTPsVZL/19qV9zYtXfDLA0UrML wkPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=AjeblLDamWPZkSc9ksCSPt/W4P9D8DAqWmFmsV5UY2I=; b=TqWZElTnJykPn4/1+U1vk2FKyWclsYDFkOi0FTzQxkhOu2XuZm8TydFqQX3/76yhbk X/rmo1SuqQAqJ4fBTw0o0jDhMSzWQjMVHPwMIY8O2W0mfontGUVosUvmCdCHZDZhwnL8 LQSKeTVKC8AlKZcTO/NB+hN1X7QFkxSh1ENHq48kV481WAV2rG9s7Mt+sLcNUiVtplfT Rzs4eIr2oH8sTnxw+Nkas89U1nD8eFTuLxuqyDu/EQ7uuIVrii0i/b84bCC228GKf2MJ r/SaYu4UoyMM6KxjpJ1sA8zgCQw/JyVKC1KPXsiKgX9gfGL2/Ls5GJZc0+83gWynbPNB +XTQ== X-Gm-Message-State: ALQs6tDmx1jhbuPwyYd5zxtjhIkrwcGIU2Ov9gjZyOBUp8qffRkuOmbi tlq3wiK0DfH8LYRsfs2XP9AQ/w== X-Google-Smtp-Source: AB8JxZqGshSW84WCDNaT11KJcYJJu5YxO+q5yc+J8UwBtWNoTfXyVeWinJEUdZX+7VFmXk8QHb+74g== X-Received: by 2002:a17:902:43a4:: with SMTP id j33-v6mr18363103pld.118.1525439703395; Fri, 04 May 2018 06:15:03 -0700 (PDT) From: Prafull To: libvir-list@redhat.com Date: Fri, 4 May 2018 18:46:51 +0530 Message-Id: <1525439811-22727-1-git-send-email-talep158@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 04 May 2018 13:15:04 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 04 May 2018 13:15:04 +0000 (UTC) for IP:'74.125.83.65' DOMAIN:'mail-pg0-f65.google.com' HELO:'mail-pg0-f65.google.com' FROM:'talep158@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.531 * (DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, NML_ADSP_CUSTOM_MED, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_PASS, T_DKIM_INVALID) 74.125.83.65 mail-pg0-f65.google.com 74.125.83.65 mail-pg0-f65.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com Cc: Prafullkumar Tale Subject: [libvirt] [PATCH] lxc: convert to typesafe virConf accessors in lxc_native.c X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Fri, 04 May 2018 13:15:20 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Prafullkumar Tale Signed-off-by: Prafullkumar Tale --- src/lxc/lxc_native.c | 141 +++++++++++++++++++++++++----------------------= ---- 1 file changed, 70 insertions(+), 71 deletions(-) diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c index 55ea774..35077e1 100644 --- a/src/lxc/lxc_native.c +++ b/src/lxc/lxc_native.c @@ -199,19 +199,15 @@ lxcSetRootfs(virDomainDefPtr def, virConfPtr properties) { int type =3D VIR_DOMAIN_FS_TYPE_MOUNT; - virConfValuePtr value; + char *value =3D NULL; =20 - if (!(value =3D virConfGetValue(properties, "lxc.rootfs")) || - !value->str) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Missing lxc.rootfs configuration")); + if (virConfGetValueString(properties, "lxc.rootfs", &value) <=3D 0) return -1; - } =20 - if (STRPREFIX(value->str, "/dev/")) + if (STRPREFIX(value, "/dev/")) type =3D VIR_DOMAIN_FS_TYPE_BLOCK; =20 - if (lxcAddFSDef(def, type, value->str, "/", false, 0) < 0) + if (lxcAddFSDef(def, type, value, "/", false, 0) < 0) return -1; =20 return 0; @@ -684,17 +680,17 @@ lxcConvertNetworkSettings(virDomainDefPtr def, virCon= fPtr properties) static int lxcCreateConsoles(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; int nbttys =3D 0; virDomainChrDefPtr console; size_t i; =20 - if (!(value =3D virConfGetValue(properties, "lxc.tty")) || !value->str) + if (virConfGetValueString(properties, "lxc.tty", &value) <=3D 0) return 0; =20 - if (virStrToLong_i(value->str, NULL, 10, &nbttys) < 0) { + if (virStrToLong_i(value, NULL, 10, &nbttys) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse int: '%s= '"), - value->str); + value); return -1; } =20 @@ -761,89 +757,91 @@ lxcIdmapWalkCallback(const char *name, virConfValuePt= r value, void *data) static int lxcSetMemTune(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; unsigned long long size =3D 0; =20 - if ((value =3D virConfGetValue(properties, - "lxc.cgroup.memory.limit_in_bytes")) && - value->str && STRNEQ(value->str, "-1")) { - if (lxcConvertSize(value->str, &size) < 0) - return -1; + if (virConfGetValueString(properties, + "lxc.cgroup.memory.limit_in_bytes", + &value) > 0) { + if (lxcConvertSize(value, &size) < 0) + goto error; size =3D size / 1024; virDomainDefSetMemoryTotal(def, size); def->mem.hard_limit =3D virMemoryLimitTruncate(size); } =20 - if ((value =3D virConfGetValue(properties, - "lxc.cgroup.memory.soft_limit_in_bytes")) && - value->str && STRNEQ(value->str, "-1")) { - if (lxcConvertSize(value->str, &size) < 0) - return -1; - + if (virConfGetValueString(properties, + "lxc.cgroup.memory.soft_limit_in_bytes", + &value) > 0) { + if (lxcConvertSize(value, &size) < 0) + goto error; def->mem.soft_limit =3D virMemoryLimitTruncate(size / 1024); } =20 - if ((value =3D virConfGetValue(properties, - "lxc.cgroup.memory.memsw.limit_in_bytes")) && - value->str && STRNEQ(value->str, "-1")) { - if (lxcConvertSize(value->str, &size) < 0) - return -1; - + if (virConfGetValueString(properties, + "lxc.cgroup.memory.memsw.limit_in_bytes", + &value) > 0) { + if (lxcConvertSize(value, &size) < 0) + goto error; def->mem.swap_hard_limit =3D virMemoryLimitTruncate(size / 1024); } return 0; + + error: + virReportError(VIR_ERR_INTERNAL_ERROR, + _("failed to parse integer: '%s'"), value); + return -1; + } =20 static int lxcSetCpuTune(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; =20 - if ((value =3D virConfGetValue(properties, "lxc.cgroup.cpu.shares")) && - value->str) { - if (virStrToLong_ull(value->str, NULL, 10, &def->cputune.shares) <= 0) + if (virConfGetValueString(properties, "lxc.cgroup.cpu.shares", + &value) > 0) { + if (virStrToLong_ull(value, NULL, 10, &def->cputune.shares) < 0) goto error; def->cputune.sharesSpecified =3D true; } =20 - if ((value =3D virConfGetValue(properties, - "lxc.cgroup.cpu.cfs_quota_us")) && - value->str && virStrToLong_ll(value->str, NULL, 10, - &def->cputune.quota) < 0) - goto error; + if (virConfGetValueString(properties, "lxc.cgroup.cpu.cfs_quota_us", + &value) > 0) { + if (virStrToLong_ll(value, NULL, 10, &def->cputune.quota) < 0) + goto error; + } =20 - if ((value =3D virConfGetValue(properties, - "lxc.cgroup.cpu.cfs_period_us")) && - value->str && virStrToLong_ull(value->str, NULL, 10, - &def->cputune.period) < 0) - goto error; + if (virConfGetValueString(properties, "lxc.cgroup.cpu.cfs_period_us", + &value) > 0) { + if (virStrToLong_ull(value, NULL, 10, &def->cputune.period) < 0) + goto error; + } =20 return 0; =20 error: virReportError(VIR_ERR_INTERNAL_ERROR, - _("failed to parse integer: '%s'"), value->str); + _("failed to parse integer: '%s'"), value); return -1; } =20 static int lxcSetCpusetTune(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; virBitmapPtr nodeset =3D NULL; =20 - if ((value =3D virConfGetValue(properties, "lxc.cgroup.cpuset.cpus")) = && - value->str) { - if (virBitmapParse(value->str, &def->cpumask, - VIR_DOMAIN_CPUMASK_LEN) < 0) + if (virConfGetValueString(properties, "lxc.cgroup.cpuset.cpus", + &value) > 0) { + if (virBitmapParse(value, &def->cpumask, VIR_DOMAIN_CPUMASK_LEN) <= 0) return -1; - def->placement_mode =3D VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; } =20 - if ((value =3D virConfGetValue(properties, "lxc.cgroup.cpuset.mems")) = && - value->str) { - if (virBitmapParse(value->str, &nodeset, VIR_DOMAIN_CPUMASK_LEN) <= 0) + if (virConfGetValueString(properties, "lxc.cgroup.cpuset.mems", + &value) > 0) { + if (virBitmapParse(value, &nodeset, VIR_DOMAIN_CPUMASK_LEN) < 0) return -1; if (virDomainNumatuneSet(def->numa, def->placement_mode =3D=3D @@ -952,14 +950,15 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfV= aluePtr value, void *data) static int lxcSetBlkioTune(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; =20 - if ((value =3D virConfGetValue(properties, "lxc.cgroup.blkio.weight"))= && - value->str && virStrToLong_ui(value->str, NULL, 10, - &def->blkio.weight) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("failed to parse integer: '%s'"), value->str); - return -1; + if (virConfGetValueString(properties, "lxc.cgroup.blkio.weight", + &value) > 0) { + if (virStrToLong_ui(value, NULL, 10, &def->blkio.weight) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("failed to parse integer: '%s'"), value); + return -1; + } } =20 if (virConfWalk(properties, lxcBlkioDeviceWalkCallback, def) < 0) @@ -971,13 +970,13 @@ lxcSetBlkioTune(virDomainDefPtr def, virConfPtr prope= rties) static void lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties) { - virConfValuePtr value; + char *value =3D NULL; char **toDrop =3D NULL; const char *capString; size_t i; =20 - if ((value =3D virConfGetValue(properties, "lxc.cap.drop")) && value->= str) - toDrop =3D virStringSplit(value->str, " ", 0); + if (virConfGetValueString(properties, "lxc.cap.drop", &value) > 0) + toDrop =3D virStringSplit(value, " ", 0); =20 for (i =3D 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) { capString =3D virDomainCapsFeatureTypeToString(i); @@ -998,7 +997,7 @@ lxcParseConfigString(const char *config, { virDomainDefPtr vmdef =3D NULL; virConfPtr properties =3D NULL; - virConfValuePtr value; + char *value =3D NULL; =20 if (!(properties =3D virConfReadString(config, VIR_CONF_FLAG_LXC_FORMA= T))) return NULL; @@ -1031,11 +1030,11 @@ lxcParseConfigString(const char *config, vmdef->nfss =3D 0; vmdef->os.type =3D VIR_DOMAIN_OSTYPE_EXE; =20 - if ((value =3D virConfGetValue(properties, "lxc.arch")) && value->str)= { - virArch arch =3D virArchFromString(value->str); - if (arch =3D=3D VIR_ARCH_NONE && STREQ(value->str, "x86")) + if (virConfGetValueString(properties, "lxc.arch", &value) > 0) { + virArch arch =3D virArchFromString(value); + if (arch =3D=3D VIR_ARCH_NONE && STREQ(value, "x86")) arch =3D VIR_ARCH_I686; - else if (arch =3D=3D VIR_ARCH_NONE && STREQ(value->str, "amd64")) + else if (arch =3D=3D VIR_ARCH_NONE && STREQ(value, "amd64")) arch =3D VIR_ARCH_X86_64; vmdef->os.arch =3D arch; } @@ -1043,8 +1042,8 @@ lxcParseConfigString(const char *config, if (VIR_STRDUP(vmdef->os.init, "/sbin/init") < 0) goto error; =20 - if (!(value =3D virConfGetValue(properties, "lxc.utsname")) || - !value->str || (VIR_STRDUP(vmdef->name, value->str) < 0)) + if (virConfGetValueString(properties, "lxc.utsname", &value) <=3D 0 || + VIR_STRDUP(vmdef->name, value) < 0) goto error; if (!vmdef->name && (VIR_STRDUP(vmdef->name, "unnamed") < 0)) goto error; --=20 2.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list