Among all the monitor APIs some where checking if mon is NULL and some
were not. Since it's possible to have mon equal to NULL in case a second
call is attempted once entered the monitor. This requires that every
single API checks for the monitor.
This patch adds a macro that helps checking the state of the monitor and
either refactors existing checking code to use the macro or adds it in
case it was missing.
---
Notes:
Version 3:
- fixed the check in qemuMonitorGetAllBlockStatsInfo by moving it before the
allocation
- added macros for all the return value combinations
- removed 'mon' from existing VIR_DEBUG macros
src/qemu/qemu_monitor.c | 1151 ++++++++++++-----------------------------------
src/qemu/qemu_monitor.h | 18 +-
2 files changed, 292 insertions(+), 877 deletions(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 1f95547..6d7562d 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -98,6 +98,47 @@ struct _qemuMonitor {
int logfd;
};
+/**
+ * QEMU_CHECK_MONITOR_FULL:
+ * @mon: monitor pointer variable to check, evaluated multiple times, no parentheses
+ * @force_json: force JSON monitor, true or false
+ * @exit: statement that is used to exit the function
+ *
+ * This macro checks that the monitor is valid for given operation and exits
+ * the function if not. The macro also adds a debug statement regarding the
+ * monitor.
+ */
+#define QEMU_CHECK_MONITOR_FULL(mon, force_json, exit) \
+ if (!mon) { \
+ virReportError(VIR_ERR_INVALID_ARG, "%s",
\
+ _("monitor must not be NULL"));
\
+ exit; \
+ } \
+ VIR_DEBUG("mon:%p vm:%p json:%d fd:%d", mon, mon->vm, mon->json,
mon->fd); \
+ if (force_json && !mon->json) {
\
+ virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
\
+ _("JSON monitor is required"));
\
+ exit; \
+ }
+
+/* Check monitor and return NULL on error */
+#define QEMU_CHECK_MONITOR_NULL(mon) \
+ QEMU_CHECK_MONITOR_FULL(mon, false, return NULL)
+#define QEMU_CHECK_MONITOR_JSON_NULL(mon) \
+ QEMU_CHECK_MONITOR_FULL(mon, true, return NULL)
+
+/* Check monitor and return -1 on error */
+#define QEMU_CHECK_MONITOR(mon) \
+ QEMU_CHECK_MONITOR_FULL(mon, false, return -1)
+#define QEMU_CHECK_MONITOR_JSON(mon) \
+ QEMU_CHECK_MONITOR_FULL(mon, true, return -1)
+
+/* Check monitor and jump to the provided label */
+#define QEMU_CHECK_MONITOR_GOTO(mon, label) \
+ QEMU_CHECK_MONITOR_FULL(mon, false, goto label)
+#define QEMU_CHECK_MONITOR_JSON_GOTO(mon, label) \
+ QEMU_CHECK_MONITOR_FULL(mon, true, goto label)
+
static virClassPtr qemuMonitorClass;
static void qemuMonitorDispose(void *obj);
@@ -1188,6 +1229,8 @@ qemuMonitorUpdateVideoMemorySize(qemuMonitorPtr mon,
int ret = -1;
char *path = NULL;
+ QEMU_CHECK_MONITOR(mon);
+
if (mon->json) {
ret = qemuMonitorFindObjectPath(mon, "/", videoName, &path);
if (ret < 0) {
@@ -1216,6 +1259,8 @@ qemuMonitorHMPCommandWithFd(qemuMonitorPtr mon,
char *json_cmd = NULL;
int ret = -1;
+ QEMU_CHECK_MONITOR(mon);
+
if (mon->json) {
/* hack to avoid complicating each call to text monitor functions */
json_cmd = qemuMonitorUnescapeArg(cmd);
@@ -1527,13 +1572,7 @@ qemuMonitorEmitSerialChange(qemuMonitorPtr mon,
int
qemuMonitorSetCapabilities(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (!mon->json)
return 0;
@@ -1546,13 +1585,7 @@ int
qemuMonitorStartCPUs(qemuMonitorPtr mon,
virConnectPtr conn)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONStartCPUs(mon, conn);
@@ -1564,13 +1597,7 @@ qemuMonitorStartCPUs(qemuMonitorPtr mon,
int
qemuMonitorStopCPUs(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONStopCPUs(mon);
@@ -1584,13 +1611,9 @@ qemuMonitorGetStatus(qemuMonitorPtr mon,
bool *running,
virDomainPausedReason *reason)
{
- VIR_DEBUG("mon=%p, running=%p, reason=%p", mon, running, reason);
+ VIR_DEBUG("running=%p, reason=%p", running, reason);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetStatus(mon, running, reason);
@@ -1602,13 +1625,7 @@ qemuMonitorGetStatus(qemuMonitorPtr mon,
int
qemuMonitorSystemPowerdown(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSystemPowerdown(mon);
@@ -1620,13 +1637,7 @@ qemuMonitorSystemPowerdown(qemuMonitorPtr mon)
int
qemuMonitorSystemReset(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSystemReset(mon);
@@ -1639,13 +1650,7 @@ int
qemuMonitorGetCPUInfo(qemuMonitorPtr mon,
int **pids)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetCPUInfo(mon, pids);
@@ -1659,13 +1664,9 @@ qemuMonitorSetLink(qemuMonitorPtr mon,
const char *name,
virDomainNetInterfaceLinkState state)
{
- VIR_DEBUG("mon=%p, name=%s, state=%u", mon, name, state);
+ VIR_DEBUG("name=%s, state=%u", name, state);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetLink(mon, name, state);
@@ -1678,13 +1679,7 @@ int
qemuMonitorGetVirtType(qemuMonitorPtr mon,
int *virtType)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetVirtType(mon, virtType);
@@ -1697,13 +1692,7 @@ int
qemuMonitorGetBalloonInfo(qemuMonitorPtr mon,
unsigned long long *currmem)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetBalloonInfo(mon, currmem);
@@ -1717,13 +1706,9 @@ qemuMonitorGetMemoryStats(qemuMonitorPtr mon,
virDomainMemoryStatPtr stats,
unsigned int nr_stats)
{
- VIR_DEBUG("mon=%p stats=%p nstats=%u", mon, stats, nr_stats);
+ VIR_DEBUG("stats=%p nstats=%u", stats, nr_stats);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json) {
ignore_value(qemuMonitorFindBalloonObjectPath(mon, "/"));
@@ -1810,13 +1795,7 @@ qemuMonitorGetBlockInfo(qemuMonitorPtr mon)
int ret;
virHashTablePtr table;
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return NULL;
- }
+ QEMU_CHECK_MONITOR_NULL(mon);
if (!(table = virHashCreate(32, virHashValueFree)))
return NULL;
@@ -1871,7 +1850,9 @@ qemuMonitorGetAllBlockStatsInfo(qemuMonitorPtr mon,
bool backingChain)
{
int ret = -1;
- VIR_DEBUG("mon=%p ret_stats=%p, backing=%d", mon, ret_stats,
backingChain);
+ VIR_DEBUG("ret_stats=%p, backing=%d", ret_stats, backingChain);
+
+ QEMU_CHECK_MONITOR(mon);
if (!(*ret_stats = virHashCreate(10, virHashValueFree)))
goto error;
@@ -1908,13 +1889,9 @@ qemuMonitorBlockStatsUpdateCapacity(qemuMonitorPtr mon,
virHashTablePtr stats,
bool backingChain)
{
- VIR_DEBUG("mon=%p, stats=%p, backing=%d", mon, stats, backingChain);
+ VIR_DEBUG("stats=%p, backing=%d", stats, backingChain);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block capacity/size info requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockStatsUpdateCapacity(mon, stats, backingChain);
}
@@ -1925,7 +1902,9 @@ qemuMonitorGetBlockExtent(qemuMonitorPtr mon,
const char *dev_name,
unsigned long long *extent)
{
- VIR_DEBUG("mon=%p, dev_name=%s", mon, dev_name);
+ VIR_DEBUG("dev_name=%s", dev_name);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetBlockExtent(mon, dev_name, extent);
@@ -1939,7 +1918,9 @@ qemuMonitorBlockResize(qemuMonitorPtr mon,
const char *device,
unsigned long long size)
{
- VIR_DEBUG("mon=%p, device=%s size=%llu", mon, device, size);
+ VIR_DEBUG("device=%s size=%llu", device, size);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONBlockResize(mon, device, size);
@@ -1952,13 +1933,9 @@ int
qemuMonitorSetVNCPassword(qemuMonitorPtr mon,
const char *password)
{
- VIR_DEBUG("mon=%p, password=%p", mon, password);
+ VIR_DEBUG("password=%p", password);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (!password)
password = "";
@@ -1999,14 +1976,10 @@ qemuMonitorSetPassword(qemuMonitorPtr mon,
if (!protocol)
return -1;
- VIR_DEBUG("mon=%p, protocol=%s, password=%p, action_if_connected=%s",
- mon, protocol, password, action_if_connected);
+ VIR_DEBUG("protocol=%s, password=%p, action_if_connected=%s",
+ protocol, password, action_if_connected);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (!password)
password = "";
@@ -2031,13 +2004,9 @@ qemuMonitorExpirePassword(qemuMonitorPtr mon,
if (!protocol)
return -1;
- VIR_DEBUG("mon=%p, protocol=%s, expire_time=%s", mon, protocol,
expire_time);
+ VIR_DEBUG("protocol=%s, expire_time=%s", protocol, expire_time);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (!expire_time)
expire_time = "now";
@@ -2053,13 +2022,9 @@ int
qemuMonitorSetBalloon(qemuMonitorPtr mon,
unsigned long newmem)
{
- VIR_DEBUG("mon=%p newmem=%lu", mon, newmem);
+ VIR_DEBUG("newmem=%lu", newmem);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetBalloon(mon, newmem);
@@ -2071,13 +2036,9 @@ qemuMonitorSetBalloon(qemuMonitorPtr mon,
int
qemuMonitorSetCPU(qemuMonitorPtr mon, int cpu, bool online)
{
- VIR_DEBUG("mon=%p cpu=%d online=%d", mon, cpu, online);
+ VIR_DEBUG("cpu=%d online=%d", cpu, online);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetCPU(mon, cpu, online);
@@ -2091,13 +2052,9 @@ qemuMonitorEjectMedia(qemuMonitorPtr mon,
const char *dev_name,
bool force)
{
- VIR_DEBUG("mon=%p dev_name=%s force=%d", mon, dev_name, force);
+ VIR_DEBUG("dev_name=%s force=%d", dev_name, force);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONEjectMedia(mon, dev_name, force);
@@ -2112,14 +2069,9 @@ qemuMonitorChangeMedia(qemuMonitorPtr mon,
const char *newmedia,
const char *format)
{
- VIR_DEBUG("mon=%p dev_name=%s newmedia=%s format=%s",
- mon, dev_name, newmedia, format);
+ VIR_DEBUG("dev_name=%s newmedia=%s format=%s", dev_name, newmedia,
format);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONChangeMedia(mon, dev_name, newmedia, format);
@@ -2134,14 +2086,9 @@ qemuMonitorSaveVirtualMemory(qemuMonitorPtr mon,
size_t length,
const char *path)
{
- VIR_DEBUG("mon=%p offset=%llu length=%zu path=%s",
- mon, offset, length, path);
+ VIR_DEBUG("offset=%llu length=%zu path=%s", offset, length, path);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSaveVirtualMemory(mon, offset, length, path);
@@ -2156,14 +2103,9 @@ qemuMonitorSavePhysicalMemory(qemuMonitorPtr mon,
size_t length,
const char *path)
{
- VIR_DEBUG("mon=%p offset=%llu length=%zu path=%s",
- mon, offset, length, path);
+ VIR_DEBUG("offset=%llu length=%zu path=%s", offset, length, path);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSavePhysicalMemory(mon, offset, length, path);
@@ -2176,13 +2118,9 @@ int
qemuMonitorSetMigrationSpeed(qemuMonitorPtr mon,
unsigned long bandwidth)
{
- VIR_DEBUG("mon=%p bandwidth=%lu", mon, bandwidth);
+ VIR_DEBUG("bandwidth=%lu", bandwidth);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (bandwidth > QEMU_DOMAIN_MIG_BANDWIDTH_MAX) {
virReportError(VIR_ERR_OVERFLOW,
@@ -2202,13 +2140,9 @@ int
qemuMonitorSetMigrationDowntime(qemuMonitorPtr mon,
unsigned long long downtime)
{
- VIR_DEBUG("mon=%p downtime=%llu", mon, downtime);
+ VIR_DEBUG("downtime=%llu", downtime);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetMigrationDowntime(mon, downtime);
@@ -2221,19 +2155,9 @@ int
qemuMonitorGetMigrationCacheSize(qemuMonitorPtr mon,
unsigned long long *cacheSize)
{
- VIR_DEBUG("mon=%p cacheSize=%p", mon, cacheSize);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("cacheSize=%p", cacheSize);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetMigrationCacheSize(mon, cacheSize);
}
@@ -2243,19 +2167,9 @@ int
qemuMonitorSetMigrationCacheSize(qemuMonitorPtr mon,
unsigned long long cacheSize)
{
- VIR_DEBUG("mon=%p cacheSize=%llu", mon, cacheSize);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("cacheSize=%llu", cacheSize);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONSetMigrationCacheSize(mon, cacheSize);
}
@@ -2265,13 +2179,7 @@ int
qemuMonitorGetMigrationStatus(qemuMonitorPtr mon,
qemuMonitorMigrationStatusPtr status)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetMigrationStatus(mon, status);
@@ -2284,21 +2192,9 @@ int
qemuMonitorGetSpiceMigrationStatus(qemuMonitorPtr mon,
bool *spice_migrated)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
- if (mon->json) {
- return qemuMonitorJSONGetSpiceMigrationStatus(mon, spice_migrated);
- } else {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ return qemuMonitorJSONGetSpiceMigrationStatus(mon, spice_migrated);
}
@@ -2308,13 +2204,9 @@ qemuMonitorMigrateToFd(qemuMonitorPtr mon,
int fd)
{
int ret;
- VIR_DEBUG("mon=%p fd=%d flags=%x", mon, fd, flags);
+ VIR_DEBUG("fd=%d flags=%x", fd, flags);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (qemuMonitorSendFileHandle(mon, "migrate", fd) < 0)
return -1;
@@ -2342,13 +2234,9 @@ qemuMonitorMigrateToHost(qemuMonitorPtr mon,
{
int ret;
char *uri = NULL;
- VIR_DEBUG("mon=%p hostname=%s port=%d flags=%x", mon, hostname, port,
flags);
+ VIR_DEBUG("hostname=%s port=%d flags=%x", hostname, port, flags);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (virAsprintf(&uri, "%s:%s:%d", protocol, hostname, port) < 0)
return -1;
@@ -2371,13 +2259,9 @@ qemuMonitorMigrateToCommand(qemuMonitorPtr mon,
char *argstr;
char *dest = NULL;
int ret = -1;
- VIR_DEBUG("mon=%p argv=%p flags=%x", mon, argv, flags);
+ VIR_DEBUG("argv=%p flags=%x", argv, flags);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
argstr = virArgvToString(argv);
if (!argstr)
@@ -2410,14 +2294,10 @@ qemuMonitorMigrateToFile(qemuMonitorPtr mon,
int ret = -1;
char *safe_target = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
- VIR_DEBUG("mon=%p argv=%p target=%s offset=%llu flags=%x",
- mon, argv, target, offset, flags);
+ VIR_DEBUG("argv=%p target=%s offset=%llu flags=%x",
+ argv, target, offset, flags);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (offset % QEMU_MONITOR_MIGRATE_TO_FILE_BS) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -2470,13 +2350,9 @@ qemuMonitorMigrateToUnix(qemuMonitorPtr mon,
{
char *dest = NULL;
int ret = -1;
- VIR_DEBUG("mon=%p, unixfile=%s flags=%x", mon, unixfile, flags);
+ VIR_DEBUG("unixfile=%s flags=%x", unixfile, flags);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (virAsprintf(&dest, "unix:%s", unixfile) < 0)
return -1;
@@ -2494,13 +2370,7 @@ qemuMonitorMigrateToUnix(qemuMonitorPtr mon,
int
qemuMonitorMigrateCancel(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONMigrateCancel(mon);
@@ -2516,13 +2386,9 @@ int
qemuMonitorGetDumpGuestMemoryCapability(qemuMonitorPtr mon,
const char *capability)
{
- VIR_DEBUG("mon=%p capability=%s", mon, capability);
+ VIR_DEBUG("capability=%s", capability);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
/* No capability is supported without JSON monitor */
if (!mon->json)
@@ -2536,22 +2402,9 @@ int
qemuMonitorDumpToFd(qemuMonitorPtr mon, int fd, const char *dumpformat)
{
int ret;
- VIR_DEBUG("mon=%p fd=%d dumpformat=%s", mon, fd, dumpformat);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("fd=%d dumpformat=%s", fd, dumpformat);
- if (!mon->json) {
- /* We don't have qemuMonitorTextDump(), so we should check mon->json
- * here.
- */
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("dump-guest-memory is not supported in text mode"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
if (qemuMonitorSendFileHandle(mon, "dump", fd) < 0)
return -1;
@@ -2575,8 +2428,10 @@ qemuMonitorGraphicsRelocate(qemuMonitorPtr mon,
int tlsPort,
const char *tlsSubject)
{
- VIR_DEBUG("mon=%p type=%d hostname=%s port=%d tlsPort=%d tlsSubject=%s",
- mon, type, hostname, port, tlsPort, NULLSTR(tlsSubject));
+ VIR_DEBUG("type=%d hostname=%s port=%d tlsPort=%d tlsSubject=%s",
+ type, hostname, port, tlsPort, NULLSTR(tlsSubject));
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGraphicsRelocate(mon,
@@ -2599,13 +2454,9 @@ int
qemuMonitorAddUSBDisk(qemuMonitorPtr mon,
const char *path)
{
- VIR_DEBUG("mon=%p path=%s", mon, path);
+ VIR_DEBUG("path=%s", path);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddUSBDisk(mon, path);
@@ -2619,13 +2470,9 @@ qemuMonitorAddUSBDeviceExact(qemuMonitorPtr mon,
int bus,
int dev)
{
- VIR_DEBUG("mon=%p bus=%d dev=%d", mon, bus, dev);
+ VIR_DEBUG("bus=%d dev=%d", bus, dev);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddUSBDeviceExact(mon, bus, dev);
@@ -2639,13 +2486,9 @@ qemuMonitorAddUSBDeviceMatch(qemuMonitorPtr mon,
int vendor,
int product)
{
- VIR_DEBUG("mon=%p vendor=%d product=%d", mon, vendor, product);
+ VIR_DEBUG("vendor=%d product=%d", vendor, product);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddUSBDeviceMatch(mon, vendor, product);
@@ -2659,15 +2502,10 @@ qemuMonitorAddPCIHostDevice(qemuMonitorPtr mon,
virDevicePCIAddress *hostAddr,
virDevicePCIAddress *guestAddr)
{
- VIR_DEBUG("mon=%p domain=%d bus=%d slot=%d function=%d",
- mon, hostAddr->domain, hostAddr->bus, hostAddr->slot,
- hostAddr->function);
+ VIR_DEBUG("domain=%d bus=%d slot=%d function=%d",
+ hostAddr->domain, hostAddr->bus, hostAddr->slot,
hostAddr->function);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddPCIHostDevice(mon, hostAddr, guestAddr);
@@ -2682,13 +2520,9 @@ qemuMonitorAddPCIDisk(qemuMonitorPtr mon,
const char *bus,
virDevicePCIAddress *guestAddr)
{
- VIR_DEBUG("mon=%p path=%s bus=%s", mon, path, bus);
+ VIR_DEBUG("path=%s bus=%s", path, bus);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddPCIDisk(mon, path, bus, guestAddr);
@@ -2702,13 +2536,9 @@ qemuMonitorAddPCINetwork(qemuMonitorPtr mon,
const char *nicstr,
virDevicePCIAddress *guestAddr)
{
- VIR_DEBUG("mon=%p nicstr=%s", mon, nicstr);
+ VIR_DEBUG("nicstr=%s", nicstr);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddPCINetwork(mon, nicstr, guestAddr);
@@ -2721,15 +2551,11 @@ int
qemuMonitorRemovePCIDevice(qemuMonitorPtr mon,
virDevicePCIAddress *guestAddr)
{
- VIR_DEBUG("mon=%p domain=%d bus=%d slot=%d function=%d",
- mon, guestAddr->domain, guestAddr->bus,
- guestAddr->slot, guestAddr->function);
+ VIR_DEBUG("domain=%d bus=%d slot=%d function=%d",
+ guestAddr->domain, guestAddr->bus, guestAddr->slot,
+ guestAddr->function);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONRemovePCIDevice(mon, guestAddr);
@@ -2743,13 +2569,9 @@ qemuMonitorSendFileHandle(qemuMonitorPtr mon,
const char *fdname,
int fd)
{
- VIR_DEBUG("mon=%p, fdname=%s fd=%d", mon, fdname, fd);
+ VIR_DEBUG("fdname=%s fd=%d", fdname, fd);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (fd < 0) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
@@ -2778,15 +2600,11 @@ qemuMonitorCloseFileHandle(qemuMonitorPtr mon,
int ret = -1;
virErrorPtr error;
- VIR_DEBUG("mon=%p fdname=%s", mon, fdname);
+ VIR_DEBUG("fdname=%s", fdname);
error = virSaveLastError();
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- goto cleanup;
- }
+ QEMU_CHECK_MONITOR_GOTO(mon, cleanup);
if (mon->json)
ret = qemuMonitorJSONCloseFileHandle(mon, fdname);
@@ -2808,13 +2626,9 @@ qemuMonitorCloseFileHandle(qemuMonitorPtr mon,
int
qemuMonitorAddFd(qemuMonitorPtr mon, int fdset, int fd, const char *name)
{
- VIR_DEBUG("mon=%p, fdset=%d, fd=%d, name=%s", mon, fdset, fd,
NULLSTR(name));
+ VIR_DEBUG("fdset=%d, fd=%d, name=%s", fdset, fd, NULLSTR(name));
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
if (fd < 0 || fdset < 0) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
@@ -2829,13 +2643,7 @@ qemuMonitorAddFd(qemuMonitorPtr mon, int fdset, int fd, const char
*name)
return -1;
}
- if (mon->json) {
- return qemuMonitorJSONAddFd(mon, fdset, fd, name);
- } else {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("add fd requires JSON monitor"));
- return -1;
- }
+ return qemuMonitorJSONAddFd(mon, fdset, fd, name);
}
@@ -2848,21 +2656,13 @@ qemuMonitorRemoveFd(qemuMonitorPtr mon, int fdset, int fd)
int ret = -1;
virErrorPtr error;
- VIR_DEBUG("mon=%p, fdset=%d, fd=%d", mon, fdset, fd);
+ VIR_DEBUG("fdset=%d, fd=%d", fdset, fd);
error = virSaveLastError();
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- goto cleanup;
- }
+ QEMU_CHECK_MONITOR_JSON_GOTO(mon, cleanup);
- if (mon->json)
- ret = qemuMonitorJSONRemoveFd(mon, fdset, fd);
- else
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("remove fd requires JSON monitor"));
+ ret = qemuMonitorJSONRemoveFd(mon, fdset, fd);
cleanup:
if (error) {
@@ -2882,16 +2682,12 @@ qemuMonitorAddHostNetwork(qemuMonitorPtr mon,
int ret = -1;
size_t i = 0, j = 0;
- VIR_DEBUG("mon=%p netstr=%s tapfd=%p tapfdName=%p tapfdSize=%d "
+ VIR_DEBUG("netstr=%s tapfd=%p tapfdName=%p tapfdSize=%d "
"vhostfd=%p vhostfdName=%p vhostfdSize=%d",
- mon, netstr, tapfd, tapfdName, tapfdSize,
+ netstr, tapfd, tapfdName, tapfdSize,
vhostfd, vhostfdName, vhostfdSize);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
for (i = 0; i < tapfdSize; i++) {
if (qemuMonitorSendFileHandle(mon, tapfdName[i], tapfd[i]) < 0)
@@ -2929,13 +2725,9 @@ qemuMonitorRemoveHostNetwork(qemuMonitorPtr mon,
int vlan,
const char *netname)
{
- VIR_DEBUG("mon=%p netname=%s", mon, netname);
+ VIR_DEBUG("netname=%s", netname);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
@@ -2956,16 +2748,12 @@ qemuMonitorAddNetdev(qemuMonitorPtr mon,
int ret = -1;
size_t i = 0, j = 0;
- VIR_DEBUG("mon=%p netdevstr=%s tapfd=%p tapfdName=%p tapfdSize=%d"
+ VIR_DEBUG("netdevstr=%s tapfd=%p tapfdName=%p tapfdSize=%d"
"vhostfd=%p vhostfdName=%p vhostfdSize=%d",
- mon, netdevstr, tapfd, tapfdName, tapfdSize,
+ netdevstr, tapfd, tapfdName, tapfdSize,
vhostfd, vhostfdName, vhostfdSize);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
for (i = 0; i < tapfdSize; i++) {
if (qemuMonitorSendFileHandle(mon, tapfdName[i], tapfd[i]) < 0)
@@ -3001,13 +2789,9 @@ int
qemuMonitorRemoveNetdev(qemuMonitorPtr mon,
const char *alias)
{
- VIR_DEBUG("mon=%p alias=%s", mon, alias);
+ VIR_DEBUG("alias=%s", alias);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONRemoveNetdev(mon, alias);
@@ -3020,19 +2804,9 @@ int
qemuMonitorQueryRxFilter(qemuMonitorPtr mon, const char *alias,
virNetDevRxFilterPtr *filter)
{
- VIR_DEBUG("mon=%p alias=%s filter=%p", mon, alias, filter);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("alias=%s filter=%p", alias, filter);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("query-rx-filter requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONQueryRxFilter(mon, alias, filter);
}
@@ -3056,13 +2830,9 @@ qemuMonitorGetChardevInfo(qemuMonitorPtr mon,
int ret;
virHashTablePtr info = NULL;
- VIR_DEBUG("mon=%p retinfo=%p", mon, retinfo);
+ VIR_DEBUG("retinfo=%p", retinfo);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- goto error;
- }
+ QEMU_CHECK_MONITOR_GOTO(mon, error);
if (!(info = virHashCreate(10, qemuMonitorChardevInfoFree)))
goto error;
@@ -3090,13 +2860,9 @@ qemuMonitorAttachPCIDiskController(qemuMonitorPtr mon,
const char *bus,
virDevicePCIAddress *guestAddr)
{
- VIR_DEBUG("mon=%p type=%s", mon, bus);
+ VIR_DEBUG("type=%s", bus);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAttachPCIDiskController(mon, bus, guestAddr);
@@ -3111,21 +2877,11 @@ qemuMonitorAttachDrive(qemuMonitorPtr mon,
virDevicePCIAddress *controllerAddr,
virDomainDeviceDriveAddress *driveAddr)
{
- VIR_DEBUG("mon=%p drivestr=%s domain=%d bus=%d slot=%d function=%d",
- mon, drivestr, controllerAddr->domain, controllerAddr->bus,
+ VIR_DEBUG("drivestr=%s domain=%d bus=%d slot=%d function=%d",
+ drivestr, controllerAddr->domain, controllerAddr->bus,
controllerAddr->slot, controllerAddr->function);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor should be using AddDrive"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorTextAttachDrive(mon, drivestr, controllerAddr, driveAddr);
}
@@ -3135,13 +2891,9 @@ int
qemuMonitorGetAllPCIAddresses(qemuMonitorPtr mon,
qemuMonitorPCIAddress **addrs)
{
- VIR_DEBUG("mon=%p addrs=%p", mon, addrs);
+ VIR_DEBUG("addrs=%p", addrs);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetAllPCIAddresses(mon, addrs);
@@ -3154,13 +2906,9 @@ int
qemuMonitorDriveDel(qemuMonitorPtr mon,
const char *drivestr)
{
- VIR_DEBUG("mon=%p drivestr=%s", mon, drivestr);
+ VIR_DEBUG("drivestr=%s", drivestr);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONDriveDel(mon, drivestr);
@@ -3173,13 +2921,9 @@ int
qemuMonitorDelDevice(qemuMonitorPtr mon,
const char *devalias)
{
- VIR_DEBUG("mon=%p devalias=%s", mon, devalias);
+ VIR_DEBUG("devalias=%s", devalias);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONDelDevice(mon, devalias);
@@ -3194,15 +2938,10 @@ qemuMonitorAddDeviceWithFd(qemuMonitorPtr mon,
int fd,
const char *fdname)
{
- VIR_DEBUG("mon=%p device=%s fd=%d fdname=%s", mon, devicestr, fd,
- NULLSTR(fdname));
+ VIR_DEBUG("device=%s fd=%d fdname=%s", devicestr, fd, NULLSTR(fdname));
int ret;
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (fd >= 0 && qemuMonitorSendFileHandle(mon, fdname, fd) < 0)
return -1;
@@ -3245,31 +2984,25 @@ qemuMonitorAddObject(qemuMonitorPtr mon,
const char *objalias,
virJSONValuePtr props)
{
- VIR_DEBUG("mon=%p type=%s objalias=%s props=%p",
- mon, type, objalias, props);
+ VIR_DEBUG("type=%s objalias=%s props=%p", type, objalias, props);
- if (!mon->json) {
- virJSONValueFree(props);
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("object adding requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON_GOTO(mon, error);
return qemuMonitorJSONAddObject(mon, type, objalias, props);
-}
+
+ error:
+ virJSONValueFree(props);
+ return -1;
+}
int
qemuMonitorDelObject(qemuMonitorPtr mon,
const char *objalias)
{
- VIR_DEBUG("mon=%p objalias=%s", mon, objalias);
+ VIR_DEBUG("objalias=%s", objalias);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("object deletion requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONDelObject(mon, objalias);
}
@@ -3279,13 +3012,9 @@ int
qemuMonitorAddDrive(qemuMonitorPtr mon,
const char *drivestr)
{
- VIR_DEBUG("mon=%p drive=%s", mon, drivestr);
+ VIR_DEBUG("drive=%s", drivestr);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONAddDrive(mon, drivestr);
@@ -3299,13 +3028,9 @@ qemuMonitorSetDrivePassphrase(qemuMonitorPtr mon,
const char *alias,
const char *passphrase)
{
- VIR_DEBUG("mon=%p alias=%s passphrase=%p(value hidden)", mon, alias,
passphrase);
+ VIR_DEBUG("alias=%s passphrase=%p(value hidden)", alias, passphrase);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetDrivePassphrase(mon, alias, passphrase);
@@ -3317,13 +3042,9 @@ qemuMonitorSetDrivePassphrase(qemuMonitorPtr mon,
int
qemuMonitorCreateSnapshot(qemuMonitorPtr mon, const char *name)
{
- VIR_DEBUG("mon=%p, name=%s", mon, name);
+ VIR_DEBUG("name=%s", name);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONCreateSnapshot(mon, name);
@@ -3334,13 +3055,9 @@ qemuMonitorCreateSnapshot(qemuMonitorPtr mon, const char *name)
int
qemuMonitorLoadSnapshot(qemuMonitorPtr mon, const char *name)
{
- VIR_DEBUG("mon=%p, name=%s", mon, name);
+ VIR_DEBUG("name=%s", name);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONLoadSnapshot(mon, name);
@@ -3352,13 +3069,9 @@ qemuMonitorLoadSnapshot(qemuMonitorPtr mon, const char *name)
int
qemuMonitorDeleteSnapshot(qemuMonitorPtr mon, const char *name)
{
- VIR_DEBUG("mon=%p, name=%s", mon, name);
+ VIR_DEBUG("name=%s", name);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONDeleteSnapshot(mon, name);
@@ -3375,19 +3088,10 @@ qemuMonitorDiskSnapshot(qemuMonitorPtr mon, virJSONValuePtr
actions,
const char *device, const char *file,
const char *format, bool reuse)
{
- VIR_DEBUG("mon=%p, actions=%p, device=%s, file=%s, format=%s, reuse=%d",
- mon, actions, device, file, format, reuse);
+ VIR_DEBUG("actions=%p, device=%s, file=%s, format=%s, reuse=%d",
+ actions, device, file, format, reuse);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("disk snapshot requires JSON monitor"));
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONDiskSnapshot(mon, actions, device, file, format, reuse);
}
@@ -3401,16 +3105,12 @@ qemuMonitorDriveMirror(qemuMonitorPtr mon,
unsigned int granularity, unsigned long long buf_size,
unsigned int flags)
{
- VIR_DEBUG("mon=%p, device=%s, file=%s, format=%s, bandwidth=%lld, "
+ VIR_DEBUG("device=%s, file=%s, format=%s, bandwidth=%lld, "
"granularity=%#x, buf_size=%lld, flags=%x",
- mon, device, file, NULLSTR(format), bandwidth, granularity,
+ device, file, NULLSTR(format), bandwidth, granularity,
buf_size, flags);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("drive-mirror requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth,
granularity, buf_size, flags);
@@ -3421,12 +3121,9 @@ qemuMonitorDriveMirror(qemuMonitorPtr mon,
int
qemuMonitorTransaction(qemuMonitorPtr mon, virJSONValuePtr actions)
{
- VIR_DEBUG("mon=%p, actions=%p", mon, actions);
+ VIR_DEBUG("actions=%p", actions);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("transaction requires JSON monitor"));
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONTransaction(mon, actions);
}
@@ -3439,15 +3136,10 @@ qemuMonitorBlockCommit(qemuMonitorPtr mon, const char *device,
const char *backingName,
unsigned long long bandwidth)
{
- VIR_DEBUG("mon=%p, device=%s, top=%s, base=%s, backingName=%s, "
- "bandwidth=%llu",
- mon, device, top, base, NULLSTR(backingName), bandwidth);
+ VIR_DEBUG("device=%s, top=%s, base=%s, backingName=%s, bandwidth=%llu",
+ device, top, base, NULLSTR(backingName), bandwidth);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block-commit requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockCommit(mon, device, top, base,
backingName, bandwidth);
@@ -3458,7 +3150,7 @@ qemuMonitorBlockCommit(qemuMonitorPtr mon, const char *device,
bool
qemuMonitorSupportsActiveCommit(qemuMonitorPtr mon)
{
- if (!mon->json)
+ if (!mon || !mon->json)
return false;
return qemuMonitorJSONBlockCommit(mon, "bogus", NULL, NULL, NULL, 0) ==
-2;
@@ -3473,11 +3165,7 @@ qemuMonitorDiskNameLookup(qemuMonitorPtr mon,
virStorageSourcePtr top,
virStorageSourcePtr target)
{
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return NULL;
- }
+ QEMU_CHECK_MONITOR_JSON_NULL(mon);
return qemuMonitorJSONDiskNameLookup(mon, device, top, target);
}
@@ -3488,13 +3176,9 @@ int
qemuMonitorDrivePivot(qemuMonitorPtr mon,
const char *device)
{
- VIR_DEBUG("mon=%p, device=%s", mon, device);
+ VIR_DEBUG("device=%s", device);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("drive pivot requires JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONDrivePivot(mon, device);
}
@@ -3506,7 +3190,9 @@ qemuMonitorArbitraryCommand(qemuMonitorPtr mon,
char **reply,
bool hmp)
{
- VIR_DEBUG("mon=%p, cmd=%s, reply=%p, hmp=%d", mon, cmd, reply, hmp);
+ VIR_DEBUG("cmd=%s, reply=%p, hmp=%d", cmd, reply, hmp);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONArbitraryCommand(mon, cmd, reply, hmp);
@@ -3518,7 +3204,7 @@ qemuMonitorArbitraryCommand(qemuMonitorPtr mon,
int
qemuMonitorInjectNMI(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONInjectNMI(mon);
@@ -3533,7 +3219,9 @@ qemuMonitorSendKey(qemuMonitorPtr mon,
unsigned int *keycodes,
unsigned int nkeycodes)
{
- VIR_DEBUG("mon=%p, holdtime=%u, nkeycodes=%u", mon, holdtime, nkeycodes);
+ VIR_DEBUG("holdtime=%u, nkeycodes=%u", holdtime, nkeycodes);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSendKey(mon, holdtime, keycodes, nkeycodes);
@@ -3546,13 +3234,9 @@ int
qemuMonitorScreendump(qemuMonitorPtr mon,
const char *file)
{
- VIR_DEBUG("mon=%p, file=%s", mon, file);
+ VIR_DEBUG("file=%s", file);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONScreendump(mon, file);
@@ -3570,16 +3254,10 @@ qemuMonitorBlockStream(qemuMonitorPtr mon,
unsigned long long bandwidth,
bool modern)
{
- VIR_DEBUG("mon=%p, device=%s, base=%s, backingName=%s, bandwidth=%lluB, "
- "modern=%d",
- mon, device, NULLSTR(base), NULLSTR(backingName),
- bandwidth, modern);
+ VIR_DEBUG("device=%s, base=%s, backingName=%s, bandwidth=%lluB,
modern=%d",
+ device, NULLSTR(base), NULLSTR(backingName), bandwidth, modern);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block jobs require JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockStream(mon, device, base, backingName,
bandwidth, modern);
@@ -3591,13 +3269,9 @@ qemuMonitorBlockJobCancel(qemuMonitorPtr mon,
const char *device,
bool modern)
{
- VIR_DEBUG("mon=%p, device=%s, modern=%d", mon, device, modern);
+ VIR_DEBUG("device=%s, modern=%d", device, modern);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block jobs require JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockJobCancel(mon, device, modern);
}
@@ -3609,14 +3283,9 @@ qemuMonitorBlockJobSetSpeed(qemuMonitorPtr mon,
unsigned long long bandwidth,
bool modern)
{
- VIR_DEBUG("mon=%p, device=%s, bandwidth=%lluB, modern=%d",
- mon, device, bandwidth, modern);
+ VIR_DEBUG("device=%s, bandwidth=%lluB, modern=%d", device, bandwidth,
modern);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block jobs require JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockJobSetSpeed(mon, device, bandwidth, modern);
}
@@ -3628,14 +3297,9 @@ qemuMonitorBlockJobInfo(qemuMonitorPtr mon,
virDomainBlockJobInfoPtr info,
unsigned long long *bandwidth)
{
- VIR_DEBUG("mon=%p, device=%s, info=%p, bandwidth=%p",
- mon, device, info, bandwidth);
+ VIR_DEBUG("device=%s, info=%p, bandwidth=%p", device, info, bandwidth);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block jobs require JSON monitor"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONBlockJobInfo(mon, device, info, bandwidth);
}
@@ -3647,7 +3311,9 @@ qemuMonitorSetBlockIoThrottle(qemuMonitorPtr mon,
virDomainBlockIoTuneInfoPtr info,
bool supportMaxOptions)
{
- VIR_DEBUG("mon=%p, device=%p, info=%p", mon, device, info);
+ VIR_DEBUG("device=%p, info=%p", device, info);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONSetBlockIoThrottle(mon, device, info, supportMaxOptions);
@@ -3662,7 +3328,9 @@ qemuMonitorGetBlockIoThrottle(qemuMonitorPtr mon,
virDomainBlockIoTuneInfoPtr reply,
bool supportMaxOptions)
{
- VIR_DEBUG("mon=%p, device=%p, reply=%p", mon, device, reply);
+ VIR_DEBUG("device=%p, reply=%p", device, reply);
+
+ QEMU_CHECK_MONITOR(mon);
if (mon->json)
return qemuMonitorJSONGetBlockIoThrottle(mon, device, reply, supportMaxOptions);
@@ -3733,15 +3401,11 @@ qemuMonitorOpenGraphics(qemuMonitorPtr mon,
const char *fdname,
bool skipauth)
{
- VIR_DEBUG("mon=%p protocol=%s fd=%d fdname=%s skipauth=%d",
- mon, protocol, fd, NULLSTR(fdname), skipauth);
+ VIR_DEBUG("protocol=%s fd=%d fdname=%s skipauth=%d",
+ protocol, fd, NULLSTR(fdname), skipauth);
int ret;
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
if (qemuMonitorSendFileHandle(mon, fdname, fd) < 0)
return -1;
@@ -3763,19 +3427,7 @@ qemuMonitorOpenGraphics(qemuMonitorPtr mon,
int
qemuMonitorSystemWakeup(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONSystemWakeup(mon);
}
@@ -3788,20 +3440,10 @@ qemuMonitorGetVersion(qemuMonitorPtr mon,
int *micro,
char **package)
{
- VIR_DEBUG("mon=%p major=%p minor=%p micro=%p package=%p",
- mon, major, minor, micro, package);
+ VIR_DEBUG("major=%p minor=%p micro=%p package=%p",
+ major, minor, micro, package);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetVersion(mon, major, minor, micro, package);
}
@@ -3811,19 +3453,9 @@ int
qemuMonitorGetMachines(qemuMonitorPtr mon,
qemuMonitorMachineInfoPtr **machines)
{
- VIR_DEBUG("mon=%p machines=%p", mon, machines);
+ VIR_DEBUG("machines=%p", machines);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetMachines(mon, machines);
}
@@ -3844,19 +3476,9 @@ int
qemuMonitorGetCPUDefinitions(qemuMonitorPtr mon,
char ***cpus)
{
- VIR_DEBUG("mon=%p cpus=%p", mon, cpus);
+ VIR_DEBUG("cpus=%p", cpus);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetCPUDefinitions(mon, cpus);
}
@@ -3866,19 +3488,9 @@ int
qemuMonitorGetCommands(qemuMonitorPtr mon,
char ***commands)
{
- VIR_DEBUG("mon=%p commands=%p", mon, commands);
+ VIR_DEBUG("commands=%p", commands);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetCommands(mon, commands);
}
@@ -3888,19 +3500,9 @@ int
qemuMonitorGetEvents(qemuMonitorPtr mon,
char ***events)
{
- VIR_DEBUG("mon=%p events=%p", mon, events);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("events=%p", events);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetEvents(mon, events);
}
@@ -3914,19 +3516,9 @@ qemuMonitorGetCommandLineOptionParameters(qemuMonitorPtr mon,
char ***params,
bool *found)
{
- VIR_DEBUG("mon=%p option=%s params=%p", mon, option, params);
+ VIR_DEBUG("option=%s params=%p", option, params);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetCommandLineOptionParameters(mon, option,
params, found);
@@ -3938,19 +3530,9 @@ qemuMonitorGetKVMState(qemuMonitorPtr mon,
bool *enabled,
bool *present)
{
- VIR_DEBUG("mon=%p enabled=%p present=%p", mon, enabled, present);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("enabled=%p present=%p", enabled, present);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetKVMState(mon, enabled, present);
}
@@ -3960,19 +3542,9 @@ int
qemuMonitorGetObjectTypes(qemuMonitorPtr mon,
char ***types)
{
- VIR_DEBUG("mon=%p types=%p", mon, types);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("types=%p", types);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetObjectTypes(mon, types);
}
@@ -3983,19 +3555,9 @@ qemuMonitorGetObjectProps(qemuMonitorPtr mon,
const char *type,
char ***props)
{
- VIR_DEBUG("mon=%p type=%s props=%p", mon, type, props);
+ VIR_DEBUG("type=%s props=%p", type, props);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetObjectProps(mon, type, props);
}
@@ -4004,19 +3566,7 @@ qemuMonitorGetObjectProps(qemuMonitorPtr mon,
char *
qemuMonitorGetTargetArch(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return NULL;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return NULL;
- }
+ QEMU_CHECK_MONITOR_JSON_NULL(mon);
return qemuMonitorJSONGetTargetArch(mon);
}
@@ -4026,13 +3576,7 @@ int
qemuMonitorGetMigrationCapabilities(qemuMonitorPtr mon,
char ***capabilities)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
/* No capability is supported without JSON monitor */
if (!mon->json)
@@ -4049,13 +3593,9 @@ int
qemuMonitorGetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability)
{
- VIR_DEBUG("mon=%p capability=%d", mon, capability);
+ VIR_DEBUG("capability=%d", capability);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
/* No capability is supported without JSON monitor */
if (!mon->json)
@@ -4070,19 +3610,9 @@ qemuMonitorSetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability,
bool state)
{
- VIR_DEBUG("mon=%p capability=%d", mon, capability);
+ VIR_DEBUG("capability=%d", capability);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONSetMigrationCapability(mon, capability, state);
}
@@ -4093,19 +3623,9 @@ qemuMonitorNBDServerStart(qemuMonitorPtr mon,
const char *host,
unsigned int port)
{
- VIR_DEBUG("mon=%p host=%s port=%u", mon, host, port);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("host=%s port=%u", host, port);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONNBDServerStart(mon, host, port);
}
@@ -4116,19 +3636,9 @@ qemuMonitorNBDServerAdd(qemuMonitorPtr mon,
const char *deviceID,
bool writable)
{
- VIR_DEBUG("mon=%p deviceID=%s", mon, deviceID);
+ VIR_DEBUG("deviceID=%s", deviceID);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONNBDServerAdd(mon, deviceID, writable);
}
@@ -4137,19 +3647,7 @@ qemuMonitorNBDServerAdd(qemuMonitorPtr mon,
int
qemuMonitorNBDServerStop(qemuMonitorPtr mon)
{
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONNBDServerStop(mon);
}
@@ -4159,19 +3657,9 @@ int
qemuMonitorGetTPMModels(qemuMonitorPtr mon,
char ***tpmmodels)
{
- VIR_DEBUG("mon=%p tpmmodels=%p", mon, tpmmodels);
+ VIR_DEBUG("tpmmodels=%p", tpmmodels);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetTPMModels(mon, tpmmodels);
}
@@ -4181,19 +3669,9 @@ int
qemuMonitorGetTPMTypes(qemuMonitorPtr mon,
char ***tpmtypes)
{
- VIR_DEBUG("mon=%p tpmtypes=%p", mon, tpmtypes);
+ VIR_DEBUG("tpmtypes=%p", tpmtypes);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetTPMTypes(mon, tpmtypes);
}
@@ -4204,19 +3682,9 @@ qemuMonitorAttachCharDev(qemuMonitorPtr mon,
const char *chrID,
virDomainChrSourceDefPtr chr)
{
- VIR_DEBUG("mon=%p chrID=%s chr=%p", mon, chrID, chr);
+ VIR_DEBUG("chrID=%s chr=%p", chrID, chr);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONAttachCharDev(mon, chrID, chr);
}
@@ -4226,19 +3694,9 @@ int
qemuMonitorDetachCharDev(qemuMonitorPtr mon,
const char *chrID)
{
- VIR_DEBUG("mon=%p chrID=%s", mon, chrID);
+ VIR_DEBUG("chrID=%s", chrID);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONDetachCharDev(mon, chrID);
}
@@ -4248,19 +3706,9 @@ int
qemuMonitorGetDeviceAliases(qemuMonitorPtr mon,
char ***aliases)
{
- VIR_DEBUG("mon=%p, aliases=%p", mon, aliases);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ VIR_DEBUG("aliases=%p", aliases);
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetDeviceAliases(mon, aliases);
}
@@ -4304,19 +3752,9 @@ qemuMonitorGetGuestCPU(qemuMonitorPtr mon,
virArch arch,
virCPUDataPtr *data)
{
- VIR_DEBUG("mon=%p, arch='%s' data='%p'", mon,
virArchToString(arch), data);
+ VIR_DEBUG("arch='%s' data='%p'", virArchToString(arch),
data);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
*data = NULL;
@@ -4339,20 +3777,7 @@ qemuMonitorGetGuestCPU(qemuMonitorPtr mon,
int
qemuMonitorRTCResetReinjection(qemuMonitorPtr mon)
{
-
- VIR_DEBUG("mon=%p", mon);
-
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
-
- if (!mon->json) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("JSON monitor is required"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONRTCResetReinjection(mon);
}
@@ -4374,13 +3799,9 @@ qemuMonitorGetIOThreads(qemuMonitorPtr mon,
qemuMonitorIOThreadInfoPtr **iothreads)
{
- VIR_DEBUG("mon=%p iothreads=%p", mon, iothreads);
+ VIR_DEBUG("iothreads=%p", iothreads);
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR(mon);
/* Requires JSON to make the query */
if (!mon->json) {
@@ -4418,16 +3839,12 @@ int
qemuMonitorGetMemoryDeviceInfo(qemuMonitorPtr mon,
virHashTablePtr *info)
{
- VIR_DEBUG("mon=%p info=%p", mon, info);
+ VIR_DEBUG("info=%p", info);
int ret;
*info = NULL;
- if (!mon) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("monitor must not be NULL"));
- return -1;
- }
+ QEMU_CHECK_MONITOR_JSON(mon);
if (!mon->json)
return -2;
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 3e9c43c..cd4cc66 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -712,7 +712,7 @@ int qemuMonitorDiskSnapshot(qemuMonitorPtr mon,
const char *format,
bool reuse);
int qemuMonitorTransaction(qemuMonitorPtr mon, virJSONValuePtr actions)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(2);
int qemuMonitorDriveMirror(qemuMonitorPtr mon,
const char *device,
const char *file,
@@ -721,10 +721,10 @@ int qemuMonitorDriveMirror(qemuMonitorPtr mon,
unsigned int granularity,
unsigned long long buf_size,
unsigned int flags)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
+ ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
int qemuMonitorDrivePivot(qemuMonitorPtr mon,
const char *device)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(2);
int qemuMonitorBlockCommit(qemuMonitorPtr mon,
const char *device,
@@ -732,15 +732,13 @@ int qemuMonitorBlockCommit(qemuMonitorPtr mon,
const char *base,
const char *backingName,
unsigned long long bandwidth)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
- ATTRIBUTE_NONNULL(4);
+ ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4);
bool qemuMonitorSupportsActiveCommit(qemuMonitorPtr mon);
char *qemuMonitorDiskNameLookup(qemuMonitorPtr mon,
const char *device,
virStorageSourcePtr top,
virStorageSourcePtr target)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
- ATTRIBUTE_NONNULL(4);
+ ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4);
int qemuMonitorArbitraryCommand(qemuMonitorPtr mon,
const char *cmd,
@@ -763,12 +761,12 @@ int qemuMonitorBlockStream(qemuMonitorPtr mon,
const char *backingName,
unsigned long long bandwidth,
bool modern)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(2);
int qemuMonitorBlockJobCancel(qemuMonitorPtr mon,
const char *device,
bool modern)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+ ATTRIBUTE_NONNULL(2);
int qemuMonitorBlockJobSetSpeed(qemuMonitorPtr mon,
const char *device,
@@ -779,7 +777,7 @@ int qemuMonitorBlockJobInfo(qemuMonitorPtr mon,
const char *device,
virDomainBlockJobInfoPtr info,
unsigned long long *bandwidth)
- ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
+ ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
int qemuMonitorOpenGraphics(qemuMonitorPtr mon,
const char *protocol,
--
2.3.5