From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: Eduardo Habkost <ehabkost@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Eric Blake <eblake@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Juan Quintela <quintela@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
peterx@redhat.com
Subject: [Qemu-devel] [PATCH v4 08/10] migration: move skip_section_footers
Date: Wed, 21 Jun 2017 15:52:06 +0800 [thread overview]
Message-ID: <1498031528-1990-9-git-send-email-peterx@redhat.com> (raw)
In-Reply-To: <1498031528-1990-1-git-send-email-peterx@redhat.com>
Move it into MigrationState, revert its meaning and renaming it to
send_section_footer, with a property bound to it. Same trick is played
like previous patches.
Removing savevm_skip_section_footers().
Signed-off-by: Peter Xu <peterx@redhat.com>
---
hw/i386/pc_piix.c | 1 -
hw/ppc/spapr.c | 1 -
hw/xen/xen-common.c | 8 +++++---
include/hw/compat.h | 4 ++++
include/migration/misc.h | 1 -
migration/migration.c | 2 ++
migration/migration.h | 2 ++
migration/savevm.c | 11 ++---------
8 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 488fc0a..22dbef6 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -314,7 +314,6 @@ static void pc_init1(MachineState *machine,
static void pc_compat_2_3(MachineState *machine)
{
PCMachineState *pcms = PC_MACHINE(machine);
- savevm_skip_section_footers();
if (kvm_enabled()) {
pcms->smm = ON_OFF_AUTO_OFF;
}
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 29fac1b..7c40fdf 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -3579,7 +3579,6 @@ DEFINE_SPAPR_MACHINE(2_4, "2.4", false);
static void spapr_machine_2_3_instance_options(MachineState *machine)
{
spapr_machine_2_4_instance_options(machine);
- savevm_skip_section_footers();
}
static void spapr_machine_2_3_class_options(MachineClass *mc)
diff --git a/hw/xen/xen-common.c b/hw/xen/xen-common.c
index 6e52fb0..04512f4 100644
--- a/hw/xen/xen-common.c
+++ b/hw/xen/xen-common.c
@@ -138,9 +138,6 @@ static int xen_init(MachineState *ms)
return -1;
}
qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
-
- savevm_skip_section_footers();
-
return 0;
}
@@ -155,6 +152,11 @@ GlobalProperty xen_compat_props[] = {
.property = "send-configuration",
.value = "off",
},
+ {
+ .driver = "migration",
+ .property = "send-section-footer",
+ .value = "off",
+ },
{ .driver = NULL, .property = NULL, .value = NULL },
};
diff --git a/include/hw/compat.h b/include/hw/compat.h
index 1a3fd94..08f3600 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -187,6 +187,10 @@
.value = "off",\
},{\
.driver = "migration",\
+ .property = "send-section-footer",\
+ .value = "off",\
+ },{\
+ .driver = "migration",\
.property = "store-global-state",\
.value = "off",\
},
diff --git a/include/migration/misc.h b/include/migration/misc.h
index f30db4d..854c28d 100644
--- a/include/migration/misc.h
+++ b/include/migration/misc.h
@@ -41,7 +41,6 @@ int64_t self_announce_delay(int round)
/* migration/savevm.c */
void dump_vmstate_json_to_file(FILE *out_fp);
-void savevm_skip_section_footers(void);
/* migration/migration.c */
void migration_object_init(void);
diff --git a/migration/migration.c b/migration/migration.c
index 414e14d..96c6412 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1987,6 +1987,8 @@ static Property migration_properties[] = {
DEFINE_PROP_BOOL("only-migratable", MigrationState, only_migratable, false),
DEFINE_PROP_BOOL("send-configuration", MigrationState,
send_configuration, true),
+ DEFINE_PROP_BOOL("send-section-footer", MigrationState,
+ send_section_footer, true),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/migration/migration.h b/migration/migration.h
index 4d4ea0d..994b017 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -145,6 +145,8 @@ struct MigrationState
/* Whether we send QEMU_VM_CONFIGURATION during migration */
bool send_configuration;
+ /* Whether we send section footer during migration */
+ bool send_section_footer;
};
void migrate_set_state(int *state, int old_state, int new_state);
diff --git a/migration/savevm.c b/migration/savevm.c
index f1e144d..28fa1d5 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -62,8 +62,6 @@
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 */
@@ -761,11 +759,6 @@ static void vmstate_save(QEMUFile *f, SaveStateEntry *se, QJSON *vmdesc)
vmstate_save_state(f, se->vmsd, se->opaque, vmdesc);
}
-void savevm_skip_section_footers(void)
-{
- skip_section_footers = true;
-}
-
/*
* Write the header for device section (QEMU_VM_SECTION START/END/PART/FULL)
*/
@@ -793,7 +786,7 @@ static void save_section_header(QEMUFile *f, SaveStateEntry *se,
*/
static void save_section_footer(QEMUFile *f, SaveStateEntry *se)
{
- if (!skip_section_footers) {
+ if (migrate_get_current()->send_section_footer) {
qemu_put_byte(f, QEMU_VM_SECTION_FOOTER);
qemu_put_be32(f, se->section_id);
}
@@ -1802,7 +1795,7 @@ static bool check_section_footer(QEMUFile *f, SaveStateEntry *se)
uint8_t read_mark;
uint32_t read_section_id;
- if (skip_section_footers) {
+ if (!migrate_get_current()->send_section_footer) {
/* No footer to check */
return true;
}
--
2.7.4
next prev parent reply other threads:[~2017-06-21 7:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-21 7:51 [Qemu-devel] [PATCH v4 00/10] migration: objectify MigrationState Peter Xu
2017-06-21 7:51 ` [Qemu-devel] [PATCH v4 01/10] machine: export register_compat_prop() Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 02/10] accel: introduce AccelClass.global_props Peter Xu
2017-06-21 12:23 ` Eduardo Habkost
2017-06-22 4:25 ` Peter Xu
2017-06-22 17:28 ` Eduardo Habkost
2017-06-23 4:44 ` Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 03/10] vl: clean up global property registerations Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 04/10] migration: let MigrationState be a qdev Peter Xu
2017-06-21 8:58 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 05/10] migration: move global_state.optional out Peter Xu
2017-06-21 8:59 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 06/10] migration: move only_migratable to MigrationState Peter Xu
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 07/10] migration: move skip_configuration out Peter Xu
2017-06-21 9:00 ` Juan Quintela
2017-06-21 7:52 ` Peter Xu [this message]
2017-06-21 9:01 ` [Qemu-devel] [PATCH v4 08/10] migration: move skip_section_footers Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 09/10] migration: merge enforce_config_section somewhat Peter Xu
2017-06-21 9:02 ` Juan Quintela
2017-06-21 7:52 ` [Qemu-devel] [PATCH v4 10/10] migration: hmp: dump globals Peter Xu
2017-06-21 9:03 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1498031528-1990-9-git-send-email-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=lvivier@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.