[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 02/10] migration: Split qemu-file.h
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v2 02/10] migration: Split qemu-file.h |
Date: |
Thu, 1 Jun 2017 13:21:33 +0100 |
User-agent: |
Mutt/1.8.2 (2017-04-18) |
* Juan Quintela (address@hidden) wrote:
> Split the file into public and internal interfaces. I have to rename
> the external one because we can't have two include files with the same
> name in the same directory. Build system gets confused. The only
> exported functions are the ones that handle basic types.
>
> Signed-off-by: Juan Quintela <address@hidden>
Hmm, ok, but I'd like to make qemu-file-types.h private eventually;
we're down to 193 qemu_put_b*'s outside of migration - of those 72 will
go when Halil's set goes in.
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> ---
> hw/i2c/i2c-ddc.c | 1 +
> hw/intc/s390_flic.c | 1 -
> hw/intc/s390_flic_kvm.c | 1 -
> hw/s390x/s390-skeys.c | 1 -
> include/hw/hw.h | 2 +-
> include/migration/qemu-file-types.h | 164
> +++++++++++++++++++++++++++
> migration/block.c | 2 +-
> migration/colo.c | 2 +-
> migration/migration.c | 2 +-
> migration/postcopy-ram.c | 2 +-
> migration/qemu-file-channel.c | 3 +-
> migration/qemu-file.c | 2 +-
> {include/migration => migration}/qemu-file.h | 157 +------------------------
> migration/ram.c | 2 +-
> migration/rdma.c | 2 +-
> migration/savevm.c | 1 +
> migration/socket.c | 2 +-
> migration/vmstate-types.c | 3 +-
> migration/vmstate.c | 2 +-
> tests/test-vmstate.c | 3 +-
> 20 files changed, 186 insertions(+), 169 deletions(-)
> create mode 100644 include/migration/qemu-file-types.h
> rename {include/migration => migration}/qemu-file.h (62%)
>
> diff --git a/hw/i2c/i2c-ddc.c b/hw/i2c/i2c-ddc.c
> index 66899d7..6b92e95 100644
> --- a/hw/i2c/i2c-ddc.c
> +++ b/hw/i2c/i2c-ddc.c
> @@ -17,6 +17,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qemu-common.h"
> #include "qemu/log.h"
> #include "hw/i2c/i2c.h"
> #include "hw/i2c/i2c-ddc.h"
> diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
> index 711c114..a26e906 100644
> --- a/hw/intc/s390_flic.c
> +++ b/hw/intc/s390_flic.c
> @@ -13,7 +13,6 @@
> #include "qemu/osdep.h"
> #include "qemu/error-report.h"
> #include "hw/sysbus.h"
> -#include "migration/qemu-file.h"
> #include "hw/s390x/s390_flic.h"
> #include "trace.h"
> #include "hw/qdev.h"
> diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
> index cc44bc4..b4c61d8 100644
> --- a/hw/intc/s390_flic_kvm.c
> +++ b/hw/intc/s390_flic_kvm.c
> @@ -17,7 +17,6 @@
> #include "qemu/error-report.h"
> #include "hw/sysbus.h"
> #include "sysemu/kvm.h"
> -#include "migration/qemu-file.h"
> #include "hw/s390x/s390_flic.h"
> #include "hw/s390x/adapter.h"
> #include "trace.h"
> diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
> index e2d4e1a..619152c 100644
> --- a/hw/s390x/s390-skeys.c
> +++ b/hw/s390x/s390-skeys.c
> @@ -12,7 +12,6 @@
> #include "qemu/osdep.h"
> #include "hw/boards.h"
> #include "qmp-commands.h"
> -#include "migration/qemu-file.h"
> #include "hw/s390x/storage-keys.h"
> #include "qemu/error-report.h"
> #include "sysemu/kvm.h"
> diff --git a/include/hw/hw.h b/include/hw/hw.h
> index af9eae1..ab4950c 100644
> --- a/include/hw/hw.h
> +++ b/include/hw/hw.h
> @@ -11,7 +11,7 @@
> #include "exec/memory.h"
> #include "hw/irq.h"
> #include "migration/vmstate.h"
> -#include "migration/qemu-file.h"
> +#include "migration/qemu-file-types.h"
> #include "qemu/module.h"
> #include "sysemu/reset.h"
>
> diff --git a/include/migration/qemu-file-types.h
> b/include/migration/qemu-file-types.h
> new file mode 100644
> index 0000000..bd6d7dd
> --- /dev/null
> +++ b/include/migration/qemu-file-types.h
> @@ -0,0 +1,164 @@
> +/*
> + * QEMU System Emulator
> + *
> + * Copyright (c) 2003-2008 Fabrice Bellard
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> copy
> + * of this software and associated documentation files (the "Software"), to
> deal
> + * in the Software without restriction, including without limitation the
> rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + * THE SOFTWARE.
> + */
> +
> +#ifndef QEMU_FILE_H
> +#define QEMU_FILE_H
> +
> +void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, size_t size);
> +void qemu_put_byte(QEMUFile *f, int v);
> +
> +#define qemu_put_sbyte qemu_put_byte
> +
> +void qemu_put_be16(QEMUFile *f, unsigned int v);
> +void qemu_put_be32(QEMUFile *f, unsigned int v);
> +void qemu_put_be64(QEMUFile *f, uint64_t v);
> +size_t qemu_get_buffer(QEMUFile *f, uint8_t *buf, size_t size);
> +
> +int qemu_get_byte(QEMUFile *f);
> +
> +static inline unsigned int qemu_get_ubyte(QEMUFile *f)
> +{
> + return (unsigned int)qemu_get_byte(f);
> +}
> +
> +#define qemu_get_sbyte qemu_get_byte
> +
> +unsigned int qemu_get_be16(QEMUFile *f);
> +unsigned int qemu_get_be32(QEMUFile *f);
> +uint64_t qemu_get_be64(QEMUFile *f);
> +
> +static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv)
> +{
> + qemu_put_be64(f, *pv);
> +}
> +
> +static inline void qemu_put_be32s(QEMUFile *f, const uint32_t *pv)
> +{
> + qemu_put_be32(f, *pv);
> +}
> +
> +static inline void qemu_put_be16s(QEMUFile *f, const uint16_t *pv)
> +{
> + qemu_put_be16(f, *pv);
> +}
> +
> +static inline void qemu_put_8s(QEMUFile *f, const uint8_t *pv)
> +{
> + qemu_put_byte(f, *pv);
> +}
> +
> +static inline void qemu_get_be64s(QEMUFile *f, uint64_t *pv)
> +{
> + *pv = qemu_get_be64(f);
> +}
> +
> +static inline void qemu_get_be32s(QEMUFile *f, uint32_t *pv)
> +{
> + *pv = qemu_get_be32(f);
> +}
> +
> +static inline void qemu_get_be16s(QEMUFile *f, uint16_t *pv)
> +{
> + *pv = qemu_get_be16(f);
> +}
> +
> +static inline void qemu_get_8s(QEMUFile *f, uint8_t *pv)
> +{
> + *pv = qemu_get_byte(f);
> +}
> +
> +/* Signed versions for type safety */
> +static inline void qemu_put_sbe16(QEMUFile *f, int v)
> +{
> + qemu_put_be16(f, (unsigned int)v);
> +}
> +
> +static inline void qemu_put_sbe32(QEMUFile *f, int v)
> +{
> + qemu_put_be32(f, (unsigned int)v);
> +}
> +
> +static inline void qemu_put_sbe64(QEMUFile *f, int64_t v)
> +{
> + qemu_put_be64(f, (uint64_t)v);
> +}
> +
> +static inline int qemu_get_sbe16(QEMUFile *f)
> +{
> + return (int)qemu_get_be16(f);
> +}
> +
> +static inline int qemu_get_sbe32(QEMUFile *f)
> +{
> + return (int)qemu_get_be32(f);
> +}
> +
> +static inline int64_t qemu_get_sbe64(QEMUFile *f)
> +{
> + return (int64_t)qemu_get_be64(f);
> +}
> +
> +static inline void qemu_put_s8s(QEMUFile *f, const int8_t *pv)
> +{
> + qemu_put_8s(f, (const uint8_t *)pv);
> +}
> +
> +static inline void qemu_put_sbe16s(QEMUFile *f, const int16_t *pv)
> +{
> + qemu_put_be16s(f, (const uint16_t *)pv);
> +}
> +
> +static inline void qemu_put_sbe32s(QEMUFile *f, const int32_t *pv)
> +{
> + qemu_put_be32s(f, (const uint32_t *)pv);
> +}
> +
> +static inline void qemu_put_sbe64s(QEMUFile *f, const int64_t *pv)
> +{
> + qemu_put_be64s(f, (const uint64_t *)pv);
> +}
> +
> +static inline void qemu_get_s8s(QEMUFile *f, int8_t *pv)
> +{
> + qemu_get_8s(f, (uint8_t *)pv);
> +}
> +
> +static inline void qemu_get_sbe16s(QEMUFile *f, int16_t *pv)
> +{
> + qemu_get_be16s(f, (uint16_t *)pv);
> +}
> +
> +static inline void qemu_get_sbe32s(QEMUFile *f, int32_t *pv)
> +{
> + qemu_get_be32s(f, (uint32_t *)pv);
> +}
> +
> +static inline void qemu_get_sbe64s(QEMUFile *f, int64_t *pv)
> +{
> + qemu_get_be64s(f, (uint64_t *)pv);
> +}
> +
> +int qemu_file_rate_limit(QEMUFile *f);
> +
> +#endif
> diff --git a/migration/block.c b/migration/block.c
> index 13f90d3..3e27499 100644
> --- a/migration/block.c
> +++ b/migration/block.c
> @@ -26,7 +26,7 @@
> #include "migration/block.h"
> #include "migration/migration.h"
> #include "sysemu/blockdev.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "migration/vmstate.h"
> #include "sysemu/block-backend.h"
>
> diff --git a/migration/colo.c b/migration/colo.c
> index 3dd1390..4f1f3b8 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -15,7 +15,7 @@
> #include "sysemu/sysemu.h"
> #include "qemu-file-channel.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "savevm.h"
> #include "migration/colo.h"
> #include "migration/block.h"
> diff --git a/migration/migration.c b/migration/migration.c
> index c3218cd..ea61650 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -21,7 +21,7 @@
> #include "migration/migration.h"
> #include "savevm.h"
> #include "qemu-file-channel.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "migration/vmstate.h"
> #include "sysemu/sysemu.h"
> #include "block/block.h"
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index 3f9ae1b..6f239f9 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -21,7 +21,7 @@
> #include "qemu-common.h"
> #include "exec/target_page.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "savevm.h"
> #include "postcopy-ram.h"
> #include "sysemu/sysemu.h"
> diff --git a/migration/qemu-file-channel.c b/migration/qemu-file-channel.c
> index dc991c9..e202d73 100644
> --- a/migration/qemu-file-channel.c
> +++ b/migration/qemu-file-channel.c
> @@ -24,7 +24,8 @@
>
> #include "qemu/osdep.h"
> #include "qemu-file-channel.h"
> -#include "migration/qemu-file.h"
> +#include "exec/cpu-common.h"
> +#include "qemu-file.h"
> #include "io/channel-socket.h"
> #include "qemu/iov.h"
>
> diff --git a/migration/qemu-file.c b/migration/qemu-file.c
> index 195fa94..ab26f4e 100644
> --- a/migration/qemu-file.c
> +++ b/migration/qemu-file.c
> @@ -29,7 +29,7 @@
> #include "qemu/sockets.h"
> #include "qemu/coroutine.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "trace.h"
>
> #define IO_BUF_SIZE 32768
> diff --git a/include/migration/qemu-file.h b/migration/qemu-file.h
> similarity index 62%
> rename from include/migration/qemu-file.h
> rename to migration/qemu-file.h
> index b5ac800..49fd697 100644
> --- a/include/migration/qemu-file.h
> +++ b/migration/qemu-file.h
> @@ -22,11 +22,8 @@
> * THE SOFTWARE.
> */
>
> -#ifndef QEMU_FILE_H
> -#define QEMU_FILE_H
> -
> -#include "qemu-common.h"
> -#include "exec/cpu-common.h"
> +#ifndef MIGRATION_QEMU_FILE_H
> +#define MIGRATION_QEMU_FILE_H
>
> /* Read a chunk of data from a file at the given position. The pos argument
> * can be ignored if the file is only be used for streaming. The number of
> @@ -122,8 +119,6 @@ int qemu_get_fd(QEMUFile *f);
> int qemu_fclose(QEMUFile *f);
> int64_t qemu_ftell(QEMUFile *f);
> int64_t qemu_ftell_fast(QEMUFile *f);
> -void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, size_t size);
> -void qemu_put_byte(QEMUFile *f, int v);
> /*
> * put_buffer without copying the buffer.
> * The buffer should be available till it is sent asynchronously.
> @@ -133,19 +128,9 @@ void qemu_put_buffer_async(QEMUFile *f, const uint8_t
> *buf, size_t size,
> bool qemu_file_mode_is_not_valid(const char *mode);
> bool qemu_file_is_writable(QEMUFile *f);
>
> +#include "migration/qemu-file-types.h"
>
> -static inline void qemu_put_ubyte(QEMUFile *f, unsigned int v)
> -{
> - qemu_put_byte(f, (int)v);
> -}
> -
> -#define qemu_put_sbyte qemu_put_byte
> -
> -void qemu_put_be16(QEMUFile *f, unsigned int v);
> -void qemu_put_be32(QEMUFile *f, unsigned int v);
> -void qemu_put_be64(QEMUFile *f, uint64_t v);
> size_t qemu_peek_buffer(QEMUFile *f, uint8_t **buf, size_t size, size_t
> offset);
> -size_t qemu_get_buffer(QEMUFile *f, uint8_t *buf, size_t size);
> size_t qemu_get_buffer_in_place(QEMUFile *f, uint8_t **buf, size_t size);
> ssize_t qemu_put_compression_data(QEMUFile *f, const uint8_t *p, size_t size,
> int level);
> @@ -157,22 +142,8 @@ int qemu_put_qemu_file(QEMUFile *f_des, QEMUFile *f_src);
> * previously peeked +n-1.
> */
> int qemu_peek_byte(QEMUFile *f, int offset);
> -int qemu_get_byte(QEMUFile *f);
> void qemu_file_skip(QEMUFile *f, int size);
> void qemu_update_position(QEMUFile *f, size_t size);
> -
> -static inline unsigned int qemu_get_ubyte(QEMUFile *f)
> -{
> - return (unsigned int)qemu_get_byte(f);
> -}
> -
> -#define qemu_get_sbyte qemu_get_byte
> -
> -unsigned int qemu_get_be16(QEMUFile *f);
> -unsigned int qemu_get_be32(QEMUFile *f);
> -uint64_t qemu_get_be64(QEMUFile *f);
> -
> -int qemu_file_rate_limit(QEMUFile *f);
> void qemu_file_reset_rate_limit(QEMUFile *f);
> void qemu_file_set_rate_limit(QEMUFile *f, int64_t new_rate);
> int64_t qemu_file_get_rate_limit(QEMUFile *f);
> @@ -183,127 +154,7 @@ QEMUFile *qemu_file_get_return_path(QEMUFile *f);
> void qemu_fflush(QEMUFile *f);
> void qemu_file_set_blocking(QEMUFile *f, bool block);
>
> -static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv)
> -{
> - qemu_put_be64(f, *pv);
> -}
> -
> -static inline void qemu_put_be32s(QEMUFile *f, const uint32_t *pv)
> -{
> - qemu_put_be32(f, *pv);
> -}
> -
> -static inline void qemu_put_be16s(QEMUFile *f, const uint16_t *pv)
> -{
> - qemu_put_be16(f, *pv);
> -}
> -
> -static inline void qemu_put_8s(QEMUFile *f, const uint8_t *pv)
> -{
> - qemu_put_byte(f, *pv);
> -}
> -
> -static inline void qemu_get_be64s(QEMUFile *f, uint64_t *pv)
> -{
> - *pv = qemu_get_be64(f);
> -}
> -
> -static inline void qemu_get_be32s(QEMUFile *f, uint32_t *pv)
> -{
> - *pv = qemu_get_be32(f);
> -}
> -
> -static inline void qemu_get_be16s(QEMUFile *f, uint16_t *pv)
> -{
> - *pv = qemu_get_be16(f);
> -}
> -
> -static inline void qemu_get_8s(QEMUFile *f, uint8_t *pv)
> -{
> - *pv = qemu_get_byte(f);
> -}
> -
> -// Signed versions for type safety
> -static inline void qemu_put_sbuffer(QEMUFile *f, const int8_t *buf, size_t
> size)
> -{
> - qemu_put_buffer(f, (const uint8_t *)buf, size);
> -}
> -
> -static inline void qemu_put_sbe16(QEMUFile *f, int v)
> -{
> - qemu_put_be16(f, (unsigned int)v);
> -}
> -
> -static inline void qemu_put_sbe32(QEMUFile *f, int v)
> -{
> - qemu_put_be32(f, (unsigned int)v);
> -}
> -
> -static inline void qemu_put_sbe64(QEMUFile *f, int64_t v)
> -{
> - qemu_put_be64(f, (uint64_t)v);
> -}
> -
> -static inline size_t qemu_get_sbuffer(QEMUFile *f, int8_t *buf, int size)
> -{
> - return qemu_get_buffer(f, (uint8_t *)buf, size);
> -}
> -
> -static inline int qemu_get_sbe16(QEMUFile *f)
> -{
> - return (int)qemu_get_be16(f);
> -}
> -
> -static inline int qemu_get_sbe32(QEMUFile *f)
> -{
> - return (int)qemu_get_be32(f);
> -}
> -
> -static inline int64_t qemu_get_sbe64(QEMUFile *f)
> -{
> - return (int64_t)qemu_get_be64(f);
> -}
> -
> -static inline void qemu_put_s8s(QEMUFile *f, const int8_t *pv)
> -{
> - qemu_put_8s(f, (const uint8_t *)pv);
> -}
> -
> -static inline void qemu_put_sbe16s(QEMUFile *f, const int16_t *pv)
> -{
> - qemu_put_be16s(f, (const uint16_t *)pv);
> -}
> -
> -static inline void qemu_put_sbe32s(QEMUFile *f, const int32_t *pv)
> -{
> - qemu_put_be32s(f, (const uint32_t *)pv);
> -}
> -
> -static inline void qemu_put_sbe64s(QEMUFile *f, const int64_t *pv)
> -{
> - qemu_put_be64s(f, (const uint64_t *)pv);
> -}
> -
> -static inline void qemu_get_s8s(QEMUFile *f, int8_t *pv)
> -{
> - qemu_get_8s(f, (uint8_t *)pv);
> -}
> -
> -static inline void qemu_get_sbe16s(QEMUFile *f, int16_t *pv)
> -{
> - qemu_get_be16s(f, (uint16_t *)pv);
> -}
> -
> -static inline void qemu_get_sbe32s(QEMUFile *f, int32_t *pv)
> -{
> - qemu_get_be32s(f, (uint32_t *)pv);
> -}
> -
> -static inline void qemu_get_sbe64s(QEMUFile *f, int64_t *pv)
> -{
> - qemu_get_be64s(f, (uint64_t *)pv);
> -}
> -
> size_t qemu_get_counted_string(QEMUFile *f, char buf[256]);
>
> +
> #endif
> diff --git a/migration/ram.c b/migration/ram.c
> index 26e03a5..390f714 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -37,7 +37,7 @@
> #include "qemu/main-loop.h"
> #include "xbzrle.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "migration/vmstate.h"
> #include "postcopy-ram.h"
> #include "exec/address-spaces.h"
> diff --git a/migration/rdma.c b/migration/rdma.c
> index 166cd60..4cb5bf8 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -18,7 +18,7 @@
> #include "qemu-common.h"
> #include "qemu/cutils.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "exec/cpu-common.h"
> #include "qemu-file-channel.h"
> #include "qemu/error-report.h"
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 2d1d4bc..bb3f9ec 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -36,6 +36,7 @@
> #include "qemu/timer.h"
> #include "migration/migration.h"
> #include "qemu-file-channel.h"
> +#include "qemu-file.h"
> #include "savevm.h"
> #include "postcopy-ram.h"
> #include "qapi/qmp/qerror.h"
> diff --git a/migration/socket.c b/migration/socket.c
> index 53f9d61..3f8ffc9 100644
> --- a/migration/socket.c
> +++ b/migration/socket.c
> @@ -21,7 +21,7 @@
> #include "qapi/error.h"
> #include "channel.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> +#include "qemu-file.h"
> #include "io/channel-socket.h"
> #include "trace.h"
>
> diff --git a/migration/vmstate-types.c b/migration/vmstate-types.c
> index cc95e47..7287c6b 100644
> --- a/migration/vmstate-types.c
> +++ b/migration/vmstate-types.c
> @@ -12,8 +12,9 @@
>
> #include "qemu/osdep.h"
> #include "qemu-common.h"
> +#include "exec/cpu-common.h"
> +#include "qemu-file.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> #include "migration/vmstate.h"
> #include "qemu/error-report.h"
> #include "qemu/queue.h"
> diff --git a/migration/vmstate.c b/migration/vmstate.c
> index ff54531..51a19b6 100644
> --- a/migration/vmstate.c
> +++ b/migration/vmstate.c
> @@ -13,8 +13,8 @@
> #include "qemu/osdep.h"
> #include "qemu-common.h"
> #include "migration/migration.h"
> -#include "migration/qemu-file.h"
> #include "migration/vmstate.h"
> +#include "qemu-file.h"
> #include "qemu/bitops.h"
> #include "qemu/error-report.h"
> #include "trace.h"
> diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
> index 25389bc..c52aff9 100644
> --- a/tests/test-vmstate.c
> +++ b/tests/test-vmstate.c
> @@ -27,7 +27,8 @@
> #include "qemu-common.h"
> #include "migration/migration.h"
> #include "migration/vmstate.h"
> -#include "migration/qemu-file.h"
> +#include "migration/qemu-file-types.h"
> +#include "../migration/qemu-file.h"
> #include "../migration/qemu-file-channel.h"
> #include "qemu/coroutine.h"
> #include "io/channel-file.h"
> --
> 2.9.4
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- Re: [Qemu-devel] [PATCH v2 02/10] migration: Split qemu-file.h,
Dr. David Alan Gilbert <=