aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2016-05-04 18:49:17 +0200
committerAmit Shah <amit.shah@redhat.com>2016-05-23 14:16:09 +0530
commit17b74b98676aee5bc470b173b1e528d2fce2cf18 (patch)
tree169cb6088b47644ab33817b2489b0227f7105207
parent65603e2fc18b48e6e55a3dd693669413141694ec (diff)
downloadqemu-17b74b98676aee5bc470b173b1e528d2fce2cf18.zip
qemu-17b74b98676aee5bc470b173b1e528d2fce2cf18.tar.gz
qemu-17b74b98676aee5bc470b173b1e528d2fce2cf18.tar.bz2
migration: Move qjson.[ch] to migration/
Type QJSON lets you build JSON text. Its interface mirrors (a subset of) abstract JSON syntax. QAPI output visitors also produce JSON text. They assert their preconditions and invariants, and therefore abort on incorrect use. Contrastingly, QJSON does *not* detect incorrect use. It happily produces invalid JSON then. This is what migration wants. QJSON was designed for migration, and migration is its only user. Move it to migration/ for proper coverage by MAINTAINERS, and to deter accidental use outside migration. [Pointed out by Eric: QJSON was added in commits 0457d07..b174257 -- Amit] Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <1462380558-2030-2-git-send-email-armbru@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
-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 8f705f6..da49b71 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 7c54fdf..7c54fdf 100644
--- a/include/qjson.h
+++ b/include/migration/qjson.h
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
index 84ee355..30ecc44 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 0cac6d7..d25ff48 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 b65ca6e..cb479fe 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 bf3d5db..46dc55e 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 9dddde6..1bbd1ca 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)