[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] migration: Move qjson.[ch] to migration/
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] migration: Move qjson.[ch] to migration/ |
Date: |
Thu, 5 May 2016 14:52:51 +0100 |
User-agent: |
Mutt/1.6.0 (2016-04-01) |
* Markus Armbruster (address@hidden) wrote:
> 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.
>
> Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> ---
> Makefile.objs | 1 -
> include/{ => migration}/qjson.h | 0
> include/migration/vmstate.h | 2 +-
> migration/Makefile.objs | 1 +
> qjson.c => migration/qjson.c | 23 +++++++++++++++++------
> migration/vmstate.c | 1 -
> tests/Makefile | 2 +-
> 7 files changed, 20 insertions(+), 10 deletions(-)
> rename include/{ => migration}/qjson.h (100%)
> rename qjson.c => migration/qjson.c (83%)
>
> 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
> similarity index 100%
> rename from include/qjson.h
> rename to 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
> similarity index 83%
> rename from qjson.c
> rename to 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 9194f18..4204d97 100644
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -435,7 +435,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)
> --
> 2.5.5
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK