[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 01/11] migration: Create savevm.h for functions
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH 01/11] migration: Create savevm.h for functions exported from savevm.c |
Date: |
Wed, 24 May 2017 18:03:34 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 18/05/2017 19:25, Juan Quintela wrote:
> This removes last trace of migration functions from sysemu/sysemu.h.
>
> Signed-off-by: Juan Quintela <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
> ---
> include/sysemu/sysemu.h | 47 -----------------------------------------------
> migration/colo.c | 1 +
> migration/migration.c | 1 +
> migration/postcopy-ram.c | 1 +
> migration/savevm.c | 29 +++++++++++++++++++++++++----
> migration/savevm.h | 41 +++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 69 insertions(+), 51 deletions(-)
> create mode 100644 migration/savevm.h
>
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index ed8fe3b..73baea1 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -79,53 +79,6 @@ int load_vmstate(const char *name, Error **errp);
>
> void qemu_announce_self(void);
>
> -/* Subcommands for QEMU_VM_COMMAND */
> -enum qemu_vm_cmd {
> - MIG_CMD_INVALID = 0, /* Must be 0 */
> - MIG_CMD_OPEN_RETURN_PATH, /* Tell the dest to open the Return path */
> - MIG_CMD_PING, /* Request a PONG on the RP */
> -
> - MIG_CMD_POSTCOPY_ADVISE, /* Prior to any page transfers, just
> - warn we might want to do PC */
> - MIG_CMD_POSTCOPY_LISTEN, /* Start listening for incoming
> - pages as it's running. */
> - MIG_CMD_POSTCOPY_RUN, /* Start execution */
> -
> - MIG_CMD_POSTCOPY_RAM_DISCARD, /* A list of pages to discard that
> - were previously sent during
> - precopy but are dirty. */
> - MIG_CMD_PACKAGED, /* Send a wrapped stream within this stream */
> - MIG_CMD_MAX
> -};
> -
> -#define MAX_VM_CMD_PACKAGED_SIZE (1ul << 24)
> -
> -bool qemu_savevm_state_blocked(Error **errp);
> -void qemu_savevm_state_begin(QEMUFile *f);
> -void qemu_savevm_state_header(QEMUFile *f);
> -int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy);
> -void qemu_savevm_state_cleanup(void);
> -void qemu_savevm_state_complete_postcopy(QEMUFile *f);
> -void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only);
> -void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size,
> - uint64_t *res_non_postcopiable,
> - uint64_t *res_postcopiable);
> -void qemu_savevm_command_send(QEMUFile *f, enum qemu_vm_cmd command,
> - uint16_t len, uint8_t *data);
> -void qemu_savevm_send_ping(QEMUFile *f, uint32_t value);
> -void qemu_savevm_send_open_return_path(QEMUFile *f);
> -int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len);
> -void qemu_savevm_send_postcopy_advise(QEMUFile *f);
> -void qemu_savevm_send_postcopy_listen(QEMUFile *f);
> -void qemu_savevm_send_postcopy_run(QEMUFile *f);
> -
> -void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f, const char *name,
> - uint16_t len,
> - uint64_t *start_list,
> - uint64_t *length_list);
> -
> -int qemu_loadvm_state(QEMUFile *f);
> -
> extern int autostart;
>
> typedef enum {
> diff --git a/migration/colo.c b/migration/colo.c
> index 929b31c..8c2ade4 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -16,6 +16,7 @@
> #include "qemu-file-channel.h"
> #include "migration/migration.h"
> #include "migration/qemu-file.h"
> +#include "savevm.h"
> #include "migration/colo.h"
> #include "migration/block.h"
> #include "io/channel-buffer.h"
> diff --git a/migration/migration.c b/migration/migration.c
> index ad29e53..7087d1a 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -19,6 +19,7 @@
> #include "qemu/main-loop.h"
> #include "migration/blocker.h"
> #include "migration/migration.h"
> +#include "savevm.h"
> #include "qemu-file-channel.h"
> #include "migration/qemu-file.h"
> #include "migration/vmstate.h"
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index a37620d..3f9ae1b 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -22,6 +22,7 @@
> #include "exec/target_page.h"
> #include "migration/migration.h"
> #include "migration/qemu-file.h"
> +#include "savevm.h"
> #include "postcopy-ram.h"
> #include "sysemu/sysemu.h"
> #include "sysemu/balloon.h"
> diff --git a/migration/savevm.c b/migration/savevm.c
> index d971e5e..d840731 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 "savevm.h"
> #include "postcopy-ram.h"
> #include "qapi/qmp/qerror.h"
> #include "qemu/error-report.h"
> @@ -63,6 +64,26 @@ const unsigned int postcopy_ram_discard_version = 0;
>
> static bool skip_section_footers;
>
> +/* Subcommands for QEMU_VM_COMMAND */
> +enum qemu_vm_cmd {
> + MIG_CMD_INVALID = 0, /* Must be 0 */
> + MIG_CMD_OPEN_RETURN_PATH, /* Tell the dest to open the Return path */
> + MIG_CMD_PING, /* Request a PONG on the RP */
> +
> + MIG_CMD_POSTCOPY_ADVISE, /* Prior to any page transfers, just
> + warn we might want to do PC */
> + MIG_CMD_POSTCOPY_LISTEN, /* Start listening for incoming
> + pages as it's running. */
> + MIG_CMD_POSTCOPY_RUN, /* Start execution */
> +
> + MIG_CMD_POSTCOPY_RAM_DISCARD, /* A list of pages to discard that
> + were previously sent during
> + precopy but are dirty. */
> + MIG_CMD_PACKAGED, /* Send a wrapped stream within this stream */
> + MIG_CMD_MAX
> +};
> +
> +#define MAX_VM_CMD_PACKAGED_SIZE (1ul << 24)
> static struct mig_cmd_args {
> ssize_t len; /* -1 = variable */
> const char *name;
> @@ -807,10 +828,10 @@ static void save_section_footer(QEMUFile *f,
> SaveStateEntry *se)
> * @len: Length of associated data
> * @data: Data associated with command.
> */
> -void qemu_savevm_command_send(QEMUFile *f,
> - enum qemu_vm_cmd command,
> - uint16_t len,
> - uint8_t *data)
> +static void qemu_savevm_command_send(QEMUFile *f,
> + enum qemu_vm_cmd command,
> + uint16_t len,
> + uint8_t *data)
> {
> trace_savevm_command_send(command, len);
> qemu_put_byte(f, QEMU_VM_COMMAND);
> diff --git a/migration/savevm.h b/migration/savevm.h
> new file mode 100644
> index 0000000..eb44877
> --- /dev/null
> +++ b/migration/savevm.h
> @@ -0,0 +1,41 @@
> +/*
> + * QEMU save vm functions
> + *
> + * Copyright (c) 2003-2008 Fabrice Bellard
> + * Copyright (c) 2009-2017 Red Hat Inc
> + *
> + * Authors:
> + * Juan Quintela <address@hidden>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef MIGRATION_SAVEVM_H
> +#define MIGRATION_SAVEVM_H
> +
> +bool qemu_savevm_state_blocked(Error **errp);
> +void qemu_savevm_state_begin(QEMUFile *f);
> +void qemu_savevm_state_header(QEMUFile *f);
> +int qemu_savevm_state_iterate(QEMUFile *f, bool postcopy);
> +void qemu_savevm_state_cleanup(void);
> +void qemu_savevm_state_complete_postcopy(QEMUFile *f);
> +void qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only);
> +void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size,
> + uint64_t *res_non_postcopiable,
> + uint64_t *res_postcopiable);
> +void qemu_savevm_send_ping(QEMUFile *f, uint32_t value);
> +void qemu_savevm_send_open_return_path(QEMUFile *f);
> +int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len);
> +void qemu_savevm_send_postcopy_advise(QEMUFile *f);
> +void qemu_savevm_send_postcopy_listen(QEMUFile *f);
> +void qemu_savevm_send_postcopy_run(QEMUFile *f);
> +
> +void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f, const char *name,
> + uint16_t len,
> + uint64_t *start_list,
> + uint64_t *length_list);
> +
> +int qemu_loadvm_state(QEMUFile *f);
> +
> +#endif
>
- [Qemu-devel] [PATCH 00/11] Another cleanup of includes, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 01/11] migration: Create savevm.h for functions exported from savevm.c, Juan Quintela, 2017/05/18
- Re: [Qemu-devel] [PATCH 01/11] migration: Create savevm.h for functions exported from savevm.c,
Laurent Vivier <=
- [Qemu-devel] [PATCH 02/11] migration: Remove unneeded includes of migration/vmstate.h, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 03/11] migration: Split qemu-file.h, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 04/11] migration: Export exec.c functions in its own file, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 05/11] migration: Export fd.c functions in its own file, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 06/11] migration: Export socket.c functions in its own file, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 07/11] migration: Export tls.c functions in its own file, Juan Quintela, 2017/05/18
- [Qemu-devel] [PATCH 09/11] migration: Create include for migration snapshots, Juan Quintela, 2017/05/18