summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.objs1
-rw-r--r--include/migration/qjson.h (renamed from include/qjson.h)0
-rw-r--r--include/migration/vmstate.h2
-rw-r--r--migration/Makefile.objs1
-rw-r--r--migration/qjson.c (renamed from qjson.c)23
-rw-r--r--migration/vmstate.c1
-rw-r--r--tests/Makefile2
7 files changed, 20 insertions, 10 deletions
diff --git a/Makefile.objs b/Makefile.objs
index 8f705f6202..da49b7159f 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -52,7 +52,6 @@ common-obj-$(CONFIG_LINUX) += fsdev/
common-obj-y += migration/
common-obj-y += qemu-char.o #aio.o
common-obj-y += page_cache.o
-common-obj-y += qjson.o
common-obj-$(CONFIG_SPICE) += spice-qemu-char.o
diff --git a/include/qjson.h b/include/migration/qjson.h
index 7c54fdf0ac..7c54fdf0ac 100644
--- a/include/qjson.h
+++ b/include/migration/qjson.h
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 84ee355ceb..30ecc441de 100644
--- a/include/migration/vmstate.h
+++ b/include/migration/vmstate.h
@@ -29,7 +29,7 @@
#ifndef CONFIG_USER_ONLY
#include <migration/qemu-file.h>
#endif
-#include <qjson.h>
+#include "migration/qjson.h"
typedef void SaveStateHandler(QEMUFile *f, void *opaque);
typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id);
diff --git a/migration/Makefile.objs b/migration/Makefile.objs
index 0cac6d707a..d25ff483eb 100644
--- a/migration/Makefile.objs
+++ b/migration/Makefile.objs
@@ -2,6 +2,7 @@ common-obj-y += migration.o tcp.o
common-obj-y += vmstate.o
common-obj-y += qemu-file.o qemu-file-buf.o qemu-file-unix.o qemu-file-stdio.o
common-obj-y += xbzrle.o postcopy-ram.o
+common-obj-y += qjson.o
common-obj-$(CONFIG_RDMA) += rdma.o
common-obj-$(CONFIG_POSIX) += exec.o unix.o fd.o
diff --git a/qjson.c b/migration/qjson.c
index b65ca6ee5e..cb479fe0eb 100644
--- a/qjson.c
+++ b/migration/qjson.c
@@ -1,5 +1,5 @@
/*
- * QEMU JSON writer
+ * A simple JSON writer
*
* Copyright Alexander Graf
*
@@ -11,12 +11,23 @@
*
*/
+/*
+ * Type QJSON lets you build JSON text. Its interface mirrors (a
+ * subset of) abstract JSON syntax.
+ *
+ * It does *not* detect incorrect use. It happily produces invalid
+ * JSON then. This is what migration wants.
+ *
+ * QAPI output visitors also produce JSON text. However, they do
+ * assert their preconditions and invariants, and therefore abort on
+ * incorrect use.
+ */
+
#include "qemu/osdep.h"
-#include <qapi/qmp/qstring.h>
-#include <glib.h>
-#include <qjson.h>
-#include <qemu/module.h>
-#include <qom/object.h>
+#include "qapi/qmp/qstring.h"
+#include "migration/qjson.h"
+#include "qemu/module.h"
+#include "qom/object.h"
struct QJSON {
Object obj;
diff --git a/migration/vmstate.c b/migration/vmstate.c
index bf3d5db301..46dc55ea40 100644
--- a/migration/vmstate.c
+++ b/migration/vmstate.c
@@ -6,7 +6,6 @@
#include "qemu/bitops.h"
#include "qemu/error-report.h"
#include "trace.h"
-#include "qjson.h"
static void vmstate_subsection_save(QEMUFile *f, const VMStateDescription *vmsd,
void *opaque, QJSON *vmdesc);
diff --git a/tests/Makefile b/tests/Makefile
index 9dddde6589..1bbd1ca463 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -439,7 +439,7 @@ tests/test-qdev-global-props$(EXESUF): tests/test-qdev-global-props.o \
$(test-qapi-obj-y)
tests/test-vmstate$(EXESUF): tests/test-vmstate.o \
migration/vmstate.o migration/qemu-file.o migration/qemu-file-buf.o \
- migration/qemu-file-unix.o qjson.o \
+ migration/qemu-file-unix.o migration/qjson.o \
$(test-qom-obj-y)
tests/test-timed-average$(EXESUF): tests/test-timed-average.o qemu-timer.o \
$(test-util-obj-y)