]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
migration: Move qjson.[ch] to migration/
authorMarkus Armbruster <armbru@redhat.com>
Wed, 4 May 2016 16:49:17 +0000 (18:49 +0200)
committerAmit Shah <amit.shah@redhat.com>
Mon, 23 May 2016 08:46:09 +0000 (14:16 +0530)
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>
Makefile.objs
include/migration/qjson.h [moved from include/qjson.h with 100% similarity]
include/migration/vmstate.h
migration/Makefile.objs
migration/qjson.c [moved from qjson.c with 83% similarity]
migration/vmstate.c
tests/Makefile

index 8f705f6202e681e0bd5ca943ab3d7631245e5824..da49b7159fcaaee3fa51f9e7e63acfa7d809aa3f 100644 (file)
@@ -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
 
similarity index 100%
rename from include/qjson.h
rename to include/migration/qjson.h
index 84ee355ceb73fba1b82ee35ec714e01aad5e028e..30ecc441defda30b95c4c89454c00f19cec269da 100644 (file)
@@ -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);
index 0cac6d707af32156f73d26b3b86fed66da714555..d25ff483eba15fb91ab1fdd59751b44f98df7b09 100644 (file)
@@ -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
similarity index 83%
rename from qjson.c
rename to migration/qjson.c
index b65ca6ee5ec539fa7b4e0f3d40ebe235e89882af..cb479fe0eb66974b36d1556b92cd19338253cc19 100644 (file)
--- a/qjson.c
@@ -1,5 +1,5 @@
 /*
- * QEMU JSON writer
+ * A simple JSON writer
  *
  * Copyright Alexander Graf
  *
  *
  */
 
+/*
+ * 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;
index bf3d5db30100b23ffb81a273aa63aefc53f7eb15..46dc55ea405503d73fdbad391371a2688b586057 100644 (file)
@@ -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);
index 9dddde6589af20e8ca29b57f76f5b85a84a3951d..1bbd1ca463e43cfa72836fdb325808a9b36436ff 100644 (file)
@@ -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)