提交 c9d5432d 编写于 作者: J Jim Fehlig

libxl: Move detection of autoballoon to libxl_conf

Detecting whether or not to autoballoon is configuration related,
so move the code to libxl_conf.
上级 11e80ddf
......@@ -978,6 +978,28 @@ error:
return -1;
}
bool
libxlGetAutoballoonConf(libxlDriverPrivatePtr driver)
{
const libxl_version_info *info;
regex_t regex;
int ret;
info = libxl_get_version_info(driver->ctx);
if (!info)
return true; /* default to on */
ret = regcomp(&regex,
"(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )",
REG_NOSUB | REG_EXTENDED);
if (ret)
return true;
ret = regexec(&regex, info->commandline, 0, NULL, 0);
regfree(&regex);
return ret == REG_NOMATCH;
}
virCapsPtr
libxlMakeCapabilities(libxl_ctx *ctx)
{
......
......@@ -120,6 +120,9 @@ struct _libxlSavefileHeader {
uint32_t unused[10];
};
bool
libxlGetAutoballoonConf(libxlDriverPrivatePtr driver);
virCapsPtr
libxlMakeCapabilities(libxl_ctx *ctx);
......
......@@ -1207,29 +1207,6 @@ libxlStateCleanup(void)
return 0;
}
static bool
libxlGetAutoballoon(libxlDriverPrivatePtr driver)
{
const libxl_version_info *info;
regex_t regex;
int ret;
info = libxl_get_version_info(driver->ctx);
if (!info)
return true; /* default to on */
ret = regcomp(&regex,
"(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )",
REG_NOSUB | REG_EXTENDED);
if (ret)
return true;
ret = regexec(&regex, info->commandline, 0, NULL, 0);
regfree(&regex);
return ret == REG_NOMATCH;
}
static int
libxlStateInitialize(bool privileged,
virStateInhibitCallback callback ATTRIBUTE_UNUSED,
......@@ -1376,7 +1353,7 @@ libxlStateInitialize(bool privileged,
}
/* setup autoballoon */
libxl_driver->autoballoon = libxlGetAutoballoon(libxl_driver);
libxl_driver->autoballoon = libxlGetAutoballoonConf(libxl_driver);
/* Load running domains first. */
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册