goto error;
/* Extract cpu tunables. */
- if ((n = virXPathULong("string(./cputune/shares[1])", ctxt,
- &def->cputune.shares)) < -1) {
+ if ((n = virXPathULongLong("string(./cputune/shares[1])", ctxt,
+ &def->cputune.shares)) < -1) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("can't parse cputune shares value"));
goto error;
virBufferAdjustIndent(&childrenBuf, virBufferGetIndent(buf, false) + 2);
if (def->cputune.sharesSpecified)
- virBufferAsprintf(&childrenBuf, "<shares>%lu</shares>\n",
+ virBufferAsprintf(&childrenBuf, "<shares>%llu</shares>\n",
def->cputune.shares);
if (def->cputune.period)
virBufferAsprintf(&childrenBuf, "<period>%llu</period>\n",
typedef virDomainCputune *virDomainCputunePtr;
struct _virDomainCputune {
- unsigned long shares;
+ unsigned long long shares;
bool sharesSpecified;
unsigned long long period;
long long quota;
if ((value = virConfGetValue(properties, "lxc.cgroup.cpu.shares")) &&
value->str) {
- if (virStrToLong_ul(value->str, NULL, 10, &def->cputune.shares) < 0)
+ if (virStrToLong_ull(value->str, NULL, 10, &def->cputune.shares) < 0)
goto error;
def->cputune.sharesSpecified = true;
}
def->cputune.shares = vcpus * 1000;
} else if (STRCASEEQ(sched_cpu_shares, "high")) {
def->cputune.shares = vcpus * 2000;
- } else if (virStrToLong_ul(sched_cpu_shares, NULL, 10,
- &def->cputune.shares) < 0) {
+ } else if (virStrToLong_ull(sched_cpu_shares, NULL, 10,
+ &def->cputune.shares) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Expecting VMX entry 'sched.cpu.shares' to be an "
"unsigned integer or 'low', 'normal' or 'high' but "
} else if (def->cputune.shares == vcpus * 2000) {
virBufferAddLit(&buffer, "sched.cpu.shares = \"high\"\n");
} else {
- virBufferAsprintf(&buffer, "sched.cpu.shares = \"%lu\"\n",
+ virBufferAsprintf(&buffer, "sched.cpu.shares = \"%llu\"\n",
def->cputune.shares);
}
}