mirror of https://github.com/xemu-project/xemu.git
migration: Move migrate_cap_set() to options.c
Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
This commit is contained in:
parent
45c1de13f0
commit
f80196b772
|
@ -1666,26 +1666,6 @@ void migrate_set_state(int *state, int old_state, int new_state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool migrate_cap_set(int cap, bool value, Error **errp)
|
|
||||||
{
|
|
||||||
MigrationState *s = migrate_get_current();
|
|
||||||
bool new_caps[MIGRATION_CAPABILITY__MAX];
|
|
||||||
|
|
||||||
if (migration_is_running(s->state)) {
|
|
||||||
error_setg(errp, QERR_MIGRATION_ACTIVE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(new_caps, s->capabilities, sizeof(new_caps));
|
|
||||||
new_caps[cap] = value;
|
|
||||||
|
|
||||||
if (!migrate_caps_check(s->capabilities, new_caps, errp)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
s->capabilities[cap] = value;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void migrate_set_block_incremental(MigrationState *s, bool value)
|
static void migrate_set_block_incremental(MigrationState *s, bool value)
|
||||||
{
|
{
|
||||||
s->parameters.block_incremental = value;
|
s->parameters.block_incremental = value;
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
#include "qapi/qapi-commands-migration.h"
|
#include "qapi/qapi-commands-migration.h"
|
||||||
|
#include "qapi/qmp/qerror.h"
|
||||||
#include "sysemu/runstate.h"
|
#include "sysemu/runstate.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
#include "ram.h"
|
#include "ram.h"
|
||||||
|
@ -392,6 +393,26 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool migrate_cap_set(int cap, bool value, Error **errp)
|
||||||
|
{
|
||||||
|
MigrationState *s = migrate_get_current();
|
||||||
|
bool new_caps[MIGRATION_CAPABILITY__MAX];
|
||||||
|
|
||||||
|
if (migration_is_running(s->state)) {
|
||||||
|
error_setg(errp, QERR_MIGRATION_ACTIVE);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(new_caps, s->capabilities, sizeof(new_caps));
|
||||||
|
new_caps[cap] = value;
|
||||||
|
|
||||||
|
if (!migrate_caps_check(s->capabilities, new_caps, errp)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
s->capabilities[cap] = value;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
MigrationCapabilityStatusList *qmp_query_migrate_capabilities(Error **errp)
|
MigrationCapabilityStatusList *qmp_query_migrate_capabilities(Error **errp)
|
||||||
{
|
{
|
||||||
MigrationCapabilityStatusList *head = NULL, **tail = &head;
|
MigrationCapabilityStatusList *head = NULL, **tail = &head;
|
||||||
|
|
|
@ -41,5 +41,6 @@ bool migrate_zero_copy_send(void);
|
||||||
/* capabilities helpers */
|
/* capabilities helpers */
|
||||||
|
|
||||||
bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp);
|
bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp);
|
||||||
|
bool migrate_cap_set(int cap, bool value, Error **errp);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue