Commit d15c05fc authored by Ashijeet Acharya's avatar Ashijeet Acharya Committed by Dr. David Alan Gilbert
Browse files

migration: Add a new option to enable only-migratable



Add a new option "--only-migratable" in qemu which will allow to add
only those devices which will not fail qemu after migration. Devices
set with the flag 'unmigratable' cannot be added when this option will
be used.

Signed-off-by: default avatarAshijeet Acharya <ashijeetacharya@gmail.com>
Message-Id: <1484566314-3987-3-git-send-email-ashijeetacharya@gmail.com>
Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
parent 05551e58
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@
#define QEMU_VM_COMMAND              0x08
#define QEMU_VM_SECTION_FOOTER       0x7e

/* for vl.c */
extern int only_migratable;

struct MigrationParams {
    bool blk;
    bool shared;
+9 −0
Original line number Diff line number Diff line
@@ -3585,6 +3585,15 @@ be used to change settings (such as migration parameters) prior to issuing
the migrate_incoming to allow the migration to begin.
ETEXI

DEF("only-migratable", 0, QEMU_OPTION_only_migratable, \
    "-only-migratable     allow only migratable devices\n", QEMU_ARCH_ALL)
STEXI
@item -only-migratable
@findex -only-migratable
Only allow migratable devices. Devices will not be allowed to enter an
unmigratable state.
ETEXI

DEF("nodefaults", 0, QEMU_OPTION_nodefaults, \
    "-nodefaults     don't create default devices\n", QEMU_ARCH_ALL)
STEXI
+4 −0
Original line number Diff line number Diff line
@@ -182,6 +182,7 @@ bool boot_strict;
uint8_t *boot_splash_filedata;
size_t boot_splash_filedata_size;
uint8_t qemu_extra_params_fw[2];
int only_migratable; /* turn it off unless user states otherwise */

int icount_align_option;

@@ -3884,6 +3885,9 @@ int main(int argc, char **argv, char **envp)
                }
                incoming = optarg;
                break;
            case QEMU_OPTION_only_migratable:
                only_migratable = 1;
                break;
            case QEMU_OPTION_nodefaults:
                has_defaults = 0;
                break;