[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/4] Introduce a new --only-migratable option
From: |
Ashijeet Acharya |
Subject: |
[Qemu-devel] [PATCH v3 0/4] Introduce a new --only-migratable option |
Date: |
Wed, 4 Jan 2017 18:02:25 +0530 |
Previously posted series patches:
http://lists.nongnu.org/archive/html/qemu-devel/2016-12/msg02391.html
http://lists.nongnu.org/archive/html/qemu-devel/2016-12/msg02062.html
This series adds a new command line option "--only-migratable" which will only
allow addition of those devices to a QEMU instance which are migratable and do
not abruptly fail QEMU after migration.
Patch 1 adds the new option "-only-migratable".
Patch 2 adds compatibility for various "device adding" options for both via
command line and hotplug methods.
Patch 3 helps to fail the migration blocker if the migration is already in
progress and thus cannot be blocked.
Note: This patch was originally written by John Snow and I have only made few
changes.
Patch 4 handles the special case of devices which become unmigratable
dynamically
by making call to "migrate_add_blocker". Here we fail the particular action of
the
device which results in an unmigratable VM.
Eg: 9pfs fails to mount the filesystem.
Note: I have not been able to test and compile the ARM drivers for KVM. They
are:
hw/intc/arm_gic_kvm.c
hw/intc/arm_gicv3_its_kvm.c
hw/intc/arm_gicv3_kvm.c
Changes in v3:
- set s->root_fid after migrate_add_blocker
- free migration_blocker inside v9fs_attach()
- change back ret<0 to just ret
- free local_err
Changes in v2:
- change the documentation for the new option
- add a NULL check for ObjectClass
- break patch 3 into patch 3 and 4
- use error_append_hint
- return -EACCES for only-migratable
- fix the error messages
Ashijeet Acharya (4):
migration: Add a new option to enable only-migratable
migration: Allow "device add" options to only add migratable devices
migration: disallow migrate_add_blocker during migration
migration: Fail migration blocker for --only-migratble
block/qcow.c | 9 ++++++++-
block/vdi.c | 9 ++++++++-
block/vhdx.c | 18 ++++++++++++------
block/vmdk.c | 10 +++++++++-
block/vpc.c | 13 ++++++++++---
block/vvfat.c | 22 ++++++++++++++--------
hw/9pfs/9p.c | 26 +++++++++++++++++++++-----
hw/display/virtio-gpu.c | 34 +++++++++++++++++++++-------------
hw/intc/arm_gic_kvm.c | 19 +++++++++++++------
hw/intc/arm_gicv3_its_kvm.c | 21 ++++++++++++++-------
hw/intc/arm_gicv3_kvm.c | 22 +++++++++++++++-------
hw/misc/ivshmem.c | 17 +++++++++++++----
hw/scsi/vhost-scsi.c | 27 +++++++++++++++++++++------
hw/usb/bus.c | 18 ++++++++++++++++++
hw/virtio/vhost.c | 10 +++++++++-
include/migration/migration.h | 9 ++++++++-
migration/migration.c | 42 ++++++++++++++++++++++++++++++++++++++++--
qdev-monitor.c | 9 +++++++++
qemu-options.hx | 9 +++++++++
stubs/migr-blocker.c | 3 ++-
target-i386/kvm.c | 19 ++++++++++++++++---
vl.c | 4 ++++
22 files changed, 294 insertions(+), 76 deletions(-)
--
2.6.2