Introduce the monitor code for using blockdev-reopen.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
}
+int
+qemuMonitorBlockdevReopen(qemuMonitorPtr mon,
+ virJSONValuePtr *props)
+{
+ VIR_DEBUG("props=%p (node-name=%s)", *props,
+ NULLSTR(virJSONValueObjectGetString(*props, "node-name")));
+
+ QEMU_CHECK_MONITOR(mon);
+
+ return qemuMonitorJSONBlockdevReopen(mon, props);
+}
+
+
int
qemuMonitorBlockdevDel(qemuMonitorPtr mon,
const char *nodename)
int qemuMonitorBlockdevAdd(qemuMonitorPtr mon,
virJSONValuePtr *props);
+int qemuMonitorBlockdevReopen(qemuMonitorPtr mon,
+ virJSONValuePtr *props);
+
int qemuMonitorBlockdevDel(qemuMonitorPtr mon,
const char *nodename);
}
+int
+qemuMonitorJSONBlockdevReopen(qemuMonitorPtr mon,
+ virJSONValuePtr *props)
+{
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+ virJSONValuePtr pr = g_steal_pointer(props);
+
+ if (!(cmd = qemuMonitorJSONMakeCommandInternal("blockdev-reopen", pr)))
+ return -1;
+
+ if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
+ return -1;
+
+ if (qemuMonitorJSONCheckError(cmd, reply) < 0)
+ return -1;
+
+ return 0;
+}
+
+
int
qemuMonitorJSONBlockdevDel(qemuMonitorPtr mon,
const char *nodename)
virJSONValuePtr *props)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+int qemuMonitorJSONBlockdevReopen(qemuMonitorPtr mon,
+ virJSONValuePtr *props)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+
int qemuMonitorJSONBlockdevDel(qemuMonitorPtr mon,
const char *nodename)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);