src/lxc/lxc_native.c | 141 +++++++++++++++++++++++++-------------------------- 1 file changed, 70 insertions(+), 71 deletions(-)
From: Prafullkumar Tale <talep158@gmail.com>
Signed-off-by: Prafullkumar Tale <talep158@gmail.com>
---
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 = VIR_DOMAIN_FS_TYPE_MOUNT;
- virConfValuePtr value;
+ char *value = NULL;
- if (!(value = virConfGetValue(properties, "lxc.rootfs")) ||
- !value->str) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("Missing lxc.rootfs configuration"));
+ if (virConfGetValueString(properties, "lxc.rootfs", &value) <= 0)
return -1;
- }
- if (STRPREFIX(value->str, "/dev/"))
+ if (STRPREFIX(value, "/dev/"))
type = VIR_DOMAIN_FS_TYPE_BLOCK;
- if (lxcAddFSDef(def, type, value->str, "/", false, 0) < 0)
+ if (lxcAddFSDef(def, type, value, "/", false, 0) < 0)
return -1;
return 0;
@@ -684,17 +680,17 @@ lxcConvertNetworkSettings(virDomainDefPtr def, virConfPtr properties)
static int
lxcCreateConsoles(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
int nbttys = 0;
virDomainChrDefPtr console;
size_t i;
- if (!(value = virConfGetValue(properties, "lxc.tty")) || !value->str)
+ if (virConfGetValueString(properties, "lxc.tty", &value) <= 0)
return 0;
- 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;
}
@@ -761,89 +757,91 @@ lxcIdmapWalkCallback(const char *name, virConfValuePtr value, void *data)
static int
lxcSetMemTune(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
unsigned long long size = 0;
- if ((value = 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 = size / 1024;
virDomainDefSetMemoryTotal(def, size);
def->mem.hard_limit = virMemoryLimitTruncate(size);
}
- if ((value = 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 = virMemoryLimitTruncate(size / 1024);
}
- if ((value = 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 = virMemoryLimitTruncate(size / 1024);
}
return 0;
+
+ error:
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("failed to parse integer: '%s'"), value);
+ return -1;
+
}
static int
lxcSetCpuTune(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
- if ((value = 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 = true;
}
- if ((value = 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;
+ }
- if ((value = 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;
+ }
return 0;
error:
virReportError(VIR_ERR_INTERNAL_ERROR,
- _("failed to parse integer: '%s'"), value->str);
+ _("failed to parse integer: '%s'"), value);
return -1;
}
static int
lxcSetCpusetTune(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
virBitmapPtr nodeset = NULL;
- if ((value = 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 = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC;
}
- if ((value = 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 ==
@@ -952,14 +950,15 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValuePtr value, void *data)
static int
lxcSetBlkioTune(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
- if ((value = 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;
+ }
}
if (virConfWalk(properties, lxcBlkioDeviceWalkCallback, def) < 0)
@@ -971,13 +970,13 @@ lxcSetBlkioTune(virDomainDefPtr def, virConfPtr properties)
static void
lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties)
{
- virConfValuePtr value;
+ char *value = NULL;
char **toDrop = NULL;
const char *capString;
size_t i;
- if ((value = virConfGetValue(properties, "lxc.cap.drop")) && value->str)
- toDrop = virStringSplit(value->str, " ", 0);
+ if (virConfGetValueString(properties, "lxc.cap.drop", &value) > 0)
+ toDrop = virStringSplit(value, " ", 0);
for (i = 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) {
capString = virDomainCapsFeatureTypeToString(i);
@@ -998,7 +997,7 @@ lxcParseConfigString(const char *config,
{
virDomainDefPtr vmdef = NULL;
virConfPtr properties = NULL;
- virConfValuePtr value;
+ char *value = NULL;
if (!(properties = virConfReadString(config, VIR_CONF_FLAG_LXC_FORMAT)))
return NULL;
@@ -1031,11 +1030,11 @@ lxcParseConfigString(const char *config,
vmdef->nfss = 0;
vmdef->os.type = VIR_DOMAIN_OSTYPE_EXE;
- if ((value = virConfGetValue(properties, "lxc.arch")) && value->str) {
- virArch arch = virArchFromString(value->str);
- if (arch == VIR_ARCH_NONE && STREQ(value->str, "x86"))
+ if (virConfGetValueString(properties, "lxc.arch", &value) > 0) {
+ virArch arch = virArchFromString(value);
+ if (arch == VIR_ARCH_NONE && STREQ(value, "x86"))
arch = VIR_ARCH_I686;
- else if (arch == VIR_ARCH_NONE && STREQ(value->str, "amd64"))
+ else if (arch == VIR_ARCH_NONE && STREQ(value, "amd64"))
arch = VIR_ARCH_X86_64;
vmdef->os.arch = arch;
}
@@ -1043,8 +1042,8 @@ lxcParseConfigString(const char *config,
if (VIR_STRDUP(vmdef->os.init, "/sbin/init") < 0)
goto error;
- if (!(value = virConfGetValue(properties, "lxc.utsname")) ||
- !value->str || (VIR_STRDUP(vmdef->name, value->str) < 0))
+ if (virConfGetValueString(properties, "lxc.utsname", &value) <= 0 ||
+ VIR_STRDUP(vmdef->name, value) < 0)
goto error;
if (!vmdef->name && (VIR_STRDUP(vmdef->name, "unnamed") < 0))
goto error;
--
2.7.4
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Fri, 2018-05-04 at 18:46 +0530, Prafull wrote: > From: Prafullkumar Tale <talep158@gmail.com> > > Signed-off-by: Prafullkumar Tale <talep158@gmail.com> > --- > 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 = VIR_DOMAIN_FS_TYPE_MOUNT; > - virConfValuePtr value; > + char *value = NULL; > > - if (!(value = virConfGetValue(properties, "lxc.rootfs")) || > - !value->str) { > - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > - _("Missing lxc.rootfs configuration")); > + if (virConfGetValueString(properties, "lxc.rootfs", &value) <= 0) > return -1; > - } > > - if (STRPREFIX(value->str, "/dev/")) > + if (STRPREFIX(value, "/dev/")) > type = VIR_DOMAIN_FS_TYPE_BLOCK; > > - if (lxcAddFSDef(def, type, value->str, "/", false, 0) < 0) > + if (lxcAddFSDef(def, type, value, "/", false, 0) < 0) > return -1; > > return 0; > @@ -684,17 +680,17 @@ lxcConvertNetworkSettings(virDomainDefPtr def, virConfPtr properties) > static int > lxcCreateConsoles(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > int nbttys = 0; > virDomainChrDefPtr console; > size_t i; > > - if (!(value = virConfGetValue(properties, "lxc.tty")) || !value->str) > + if (virConfGetValueString(properties, "lxc.tty", &value) <= 0) > return 0; > > - 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; > } > > @@ -761,89 +757,91 @@ lxcIdmapWalkCallback(const char *name, virConfValuePtr value, void *data) > static int > lxcSetMemTune(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > unsigned long long size = 0; > > - if ((value = 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 = size / 1024; > virDomainDefSetMemoryTotal(def, size); > def->mem.hard_limit = virMemoryLimitTruncate(size); > } > > - if ((value = 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 = virMemoryLimitTruncate(size / 1024); > } > > - if ((value = 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 = virMemoryLimitTruncate(size / 1024); > } > return 0; > + > + error: > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("failed to parse integer: '%s'"), value); > + return -1; > + > } > > static int > lxcSetCpuTune(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > > - if ((value = 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 = true; > } > > - if ((value = 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; > + } > > - if ((value = 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; > + } > > return 0; > > error: > virReportError(VIR_ERR_INTERNAL_ERROR, > - _("failed to parse integer: '%s'"), value->str); > + _("failed to parse integer: '%s'"), value); > return -1; > } > > static int > lxcSetCpusetTune(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > virBitmapPtr nodeset = NULL; > > - if ((value = 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 = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; > } > > - if ((value = 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 == > @@ -952,14 +950,15 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfValuePtr value, void *data) > static int > lxcSetBlkioTune(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > > - if ((value = 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; > + } > } > > if (virConfWalk(properties, lxcBlkioDeviceWalkCallback, def) < 0) > @@ -971,13 +970,13 @@ lxcSetBlkioTune(virDomainDefPtr def, virConfPtr properties) > static void > lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties) > { > - virConfValuePtr value; > + char *value = NULL; > char **toDrop = NULL; > const char *capString; > size_t i; > > - if ((value = virConfGetValue(properties, "lxc.cap.drop")) && value->str) > - toDrop = virStringSplit(value->str, " ", 0); > + if (virConfGetValueString(properties, "lxc.cap.drop", &value) > 0) > + toDrop = virStringSplit(value, " ", 0); > > for (i = 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) { > capString = virDomainCapsFeatureTypeToString(i); > @@ -998,7 +997,7 @@ lxcParseConfigString(const char *config, > { > virDomainDefPtr vmdef = NULL; > virConfPtr properties = NULL; > - virConfValuePtr value; > + char *value = NULL; > > if (!(properties = virConfReadString(config, VIR_CONF_FLAG_LXC_FORMAT))) > return NULL; > @@ -1031,11 +1030,11 @@ lxcParseConfigString(const char *config, > vmdef->nfss = 0; > vmdef->os.type = VIR_DOMAIN_OSTYPE_EXE; > > - if ((value = virConfGetValue(properties, "lxc.arch")) && value->str) { > - virArch arch = virArchFromString(value->str); > - if (arch == VIR_ARCH_NONE && STREQ(value->str, "x86")) > + if (virConfGetValueString(properties, "lxc.arch", &value) > 0) { > + virArch arch = virArchFromString(value); > + if (arch == VIR_ARCH_NONE && STREQ(value, "x86")) > arch = VIR_ARCH_I686; > - else if (arch == VIR_ARCH_NONE && STREQ(value->str, "amd64")) > + else if (arch == VIR_ARCH_NONE && STREQ(value, "amd64")) > arch = VIR_ARCH_X86_64; > vmdef->os.arch = arch; > } > @@ -1043,8 +1042,8 @@ lxcParseConfigString(const char *config, > if (VIR_STRDUP(vmdef->os.init, "/sbin/init") < 0) > goto error; > > - if (!(value = virConfGetValue(properties, "lxc.utsname")) || > - !value->str || (VIR_STRDUP(vmdef->name, value->str) < 0)) > + if (virConfGetValueString(properties, "lxc.utsname", &value) <= 0 || > + VIR_STRDUP(vmdef->name, value) < 0) > goto error; > if (!vmdef->name && (VIR_STRDUP(vmdef->name, "unnamed") < 0)) > goto error; ACK and pushed -- Cedric -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.