#define VIR_FROM_THIS VIR_FROM_NONE
-#define nodeReportError(code, ...) \
- virReportErrorHelper(VIR_FROM_NONE, code, __FILE__, \
- __FUNCTION__, __LINE__, __VA_ARGS__)
-
#ifdef __linux__
# define CPUINFO_PATH "/proc/cpuinfo"
# define SYSFS_SYSTEM_PATH "/sys/devices/system"
goto cleanup;
}
if (virStrToLong_i(value_str, &tmp, 10, &value) < 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- _("could not convert '%s' to an integer"),
- value_str);
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("could not convert '%s' to an integer"),
+ value_str);
goto cleanup;
}
/* Parse socket */
sock = virNodeParseSocket(node, cpu);
if (!CPU_ISSET(sock, &sock_map)) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("CPU socket topology has changed"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("CPU socket topology has changed"));
goto cleanup;
}
buf++;
if (*buf != ':' || !buf[1]) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("parsing cpu MHz from cpuinfo"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("parsing cpu MHz from cpuinfo"));
goto cleanup;
}
buf++;
if (*buf != ':' || !buf[1]) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("parsing cpu MHz from cpuinfo"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("parsing cpu MHz from cpuinfo"));
goto cleanup;
}
done:
/* There should always be at least one cpu, socket, node, and thread. */
if (nodeinfo->cpus == 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no CPUs found"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no CPUs found"));
goto cleanup;
}
if (nodeinfo->sockets == 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no sockets found"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no sockets found"));
goto cleanup;
}
if (nodeinfo->threads == 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no threads found"));
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no threads found"));
goto cleanup;
}
switch (i) {
case 0: /* fill kernel cpu time here */
if (virStrcpyStatic(param->field, VIR_NODE_CPU_STATS_KERNEL) == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Field kernel cpu time too long for destination"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Field kernel cpu time too long for destination"));
goto cleanup;
}
param->value = (sys + irq + softirq) * TICK_TO_NSEC;
case 1: /* fill user cpu time here */
if (virStrcpyStatic(param->field, VIR_NODE_CPU_STATS_USER) == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Field kernel cpu time too long for destination"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Field kernel cpu time too long for destination"));
goto cleanup;
}
param->value = (usr + ni) * TICK_TO_NSEC;
case 2: /* fill idle cpu time here */
if (virStrcpyStatic(param->field, VIR_NODE_CPU_STATS_IDLE) == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Field kernel cpu time too long for destination"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Field kernel cpu time too long for destination"));
goto cleanup;
}
param->value = idle * TICK_TO_NSEC;
case 3: /* fill iowait cpu time here */
if (virStrcpyStatic(param->field, VIR_NODE_CPU_STATS_IOWAIT) == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Field kernel cpu time too long for destination"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Field kernel cpu time too long for destination"));
goto cleanup;
}
param->value = iowait * TICK_TO_NSEC;
for (i = 0; i < 2; i++) {
p = strchr(p, ' ');
if (p == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("no prefix found"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("no prefix found"));
goto cleanup;
}
p++;
virNodeMemoryStatsPtr param = ¶ms[k++];
if (virStrcpyStatic(param->field, convp->field) == NULL) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Field kernel memory too long for destination"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Field kernel memory too long for destination"));
goto cleanup;
}
param->value = val;
}
if (found == 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("no available memory line found"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("no available memory line found"));
goto cleanup;
}
}
#else
/* XXX Solaris will need an impl later if they port QEMU driver */
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("node info not implemented on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("node info not implemented on this platform"));
return -1;
#endif
}
return ret;
}
#else
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("node CPU stats not implemented on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("node CPU stats not implemented on this platform"));
return -1;
#endif
}
# if HAVE_NUMACTL
if (numa_available() < 0) {
# endif
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("NUMA not supported on this host"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("NUMA not supported on this host"));
return -1;
# if HAVE_NUMACTL
}
return ret;
}
#else
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("node memory stats not implemented on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("node memory stats not implemented on this platform"));
return -1;
#endif
}
VIR_FREE(path);
return cpumap;
#else
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("node cpumap not implemented on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("node cpumap not implemented on this platform"));
return NULL;
#endif
}
int maxCell;
if (numa_available() < 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("NUMA not supported on this host"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("NUMA not supported on this host"));
goto cleanup;
}
maxCell = numa_max_node();
if (startCell > maxCell) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- _("start cell %d out of range (0-%d)"),
- startCell, maxCell);
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("start cell %d out of range (0-%d)"),
+ startCell, maxCell);
goto cleanup;
}
lastCell = startCell + maxCells - 1;
for (numCells = 0, n = startCell ; n <= lastCell ; n++) {
long long mem;
if (numa_node_size64(n, &mem) < 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
+ virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to query NUMA free memory for node: %d"),
n);
goto cleanup;
int n;
if (numa_available() < 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("NUMA not supported on this host"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("NUMA not supported on this host"));
goto cleanup;
}
for (n = 0 ; n <= numa_max_node() ; n++) {
long long mem;
if (numa_node_size64(n, &mem) < 0) {
- nodeReportError(VIR_ERR_INTERNAL_ERROR,
- "%s", _("Failed to query NUMA free memory"));
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "%s", _("Failed to query NUMA free memory"));
goto cleanup;
}
freeMem += mem;
int startCell ATTRIBUTE_UNUSED,
int maxCells ATTRIBUTE_UNUSED)
{
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("NUMA memory information not available on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("NUMA memory information not available on this platform"));
return -1;
}
unsigned long long nodeGetFreeMemory(virConnectPtr conn ATTRIBUTE_UNUSED)
{
- nodeReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("NUMA memory information not available on this platform"));
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("NUMA memory information not available on this platform"));
return 0;
}
#endif