This will be used after all migration work is done
to stop NBD server running on destination. It
doesn't take any arguments, just issues a command.
---
src/qemu/qemu_monitor.c | 19 +++++++++++++++++++
src/qemu/qemu_monitor.h | 1 +
src/qemu/qemu_monitor_json.c | 21 +++++++++++++++++++++
src/qemu/qemu_monitor_json.h | 1 +
4 files changed, 42 insertions(+), 0 deletions(-)
+++ b/src/qemu/qemu_monitor.c
@@ -3365,3 +3365,22 @@ int qemuMonitorNBDServerAdd(qemuMonitorPtr
mon,
return qemuMonitorJSONNBDServerAdd(mon, deviceID);
}
+
+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_CONFIG_UNSUPPORTED, "%s",
+ _("JSON monitor is required"));
+ return -1;
+ }
No change to this patch, but I'm getting rather tired of this
copy and paste pattern - every new monitor command has to touch
two .h files. I wonder if we should instead switch to more of
a callback pattern, where we only have to touch one .h file
(the public entry point, and the signature of a callback function),
then have qemu_monitor.c do:
if (mon->driver.func)
mon->driver.func(args)
else
report error about unsupported
then qemu_monitor_json.c would register a table of static
callback functions, rather than having to also declare every
single function almost verbatim like qemu_monitor.h.
But enough of that side-track thought about a potential future
reorganization of the code.
ACK to this patch; fine as-is.