qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] d7fc72: MAINTAINERS: Add myself as a migratio


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] d7fc72: MAINTAINERS: Add myself as a migration submaintain...
Date: Wed, 25 Jan 2017 03:00:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d7fc72ceb52ad77f5f29befc04d5215096b8caa8
      
https://github.com/qemu/qemu/commit/d7fc72ceb52ad77f5f29befc04d5215096b8caa8
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add myself as a migration submaintainer

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Amit Shah <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 2c21ee769e4674348560480cecc7b20f3750ee84
      
https://github.com/qemu/qemu/commit/2c21ee769e4674348560480cecc7b20f3750ee84
  Author: Jianjun Duan <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M hw/display/virtio-gpu.c
    M hw/intc/s390_flic_kvm.c
    M hw/net/vmxnet3.c
    M hw/nvram/eeprom93xx.c
    M hw/nvram/fw_cfg.c
    M hw/pci/msix.c
    M hw/pci/pci.c
    M hw/pci/shpc.c
    M hw/scsi/scsi-bus.c
    M hw/timer/twl92230.c
    M hw/usb/redirect.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio.c
    M include/migration/vmstate.h
    M migration/savevm.c
    M migration/vmstate.c
    M target/alpha/machine.c
    M target/arm/machine.c
    M target/i386/machine.c
    M target/mips/machine.c
    M target/ppc/machine.c
    M target/sparc/machine.c

  Log Message:
  -----------
  migration: extend VMStateInfo

Current migration code cannot handle some data structures such as
QTAILQ in qemu/queue.h. Here we extend the signatures of put/get
in VMStateInfo so that customized handling is supported. put now
will return int type.

Reviewed-by: Dr. David Alan Gilbert <address@hidden>

Signed-off-by: Jianjun Duan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 94869d5c528bf5df54f37cf5390bc979e6ed46fd
      
https://github.com/qemu/qemu/commit/94869d5c528bf5df54f37cf5390bc979e6ed46fd
  Author: Jianjun Duan <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M include/migration/vmstate.h
    M include/qemu/queue.h
    M migration/trace-events
    M migration/vmstate.c

  Log Message:
  -----------
  migration: migrate QTAILQ

Currently we cannot directly transfer a QTAILQ instance because of the
limitation in the migration code. Here we introduce an approach to
transfer such structures. We created VMStateInfo vmstate_info_qtailq
for QTAILQ. Similar VMStateInfo can be created for other data structures
such as list.

When a QTAILQ is migrated from source to target, it is appended to the
corresponding QTAILQ structure, which is assumed to have been properly
initialized.

This approach will be used to transfer pending_events and ccs_list in spapr
state.

We also create some macros in qemu/queue.h to access a QTAILQ using pointer
arithmetic. This ensures that we do not depend on the implementation
details about QTAILQ in the migration code.

Reviewed-by: Dr. David Alan Gilbert <address@hidden>

Signed-off-by: Jianjun Duan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 7e99f22cbe50a8e3c256116825ff80047d3be0b8
      
https://github.com/qemu/qemu/commit/7e99f22cbe50a8e3c256116825ff80047d3be0b8
  Author: Jianjun Duan <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M tests/test-vmstate.c

  Log Message:
  -----------
  tests/migration: Add test for QTAILQ migration

Add a test for QTAILQ migration to tests/test-vmstate.c.

Signed-off-by: Jianjun Duan <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: cde7ee5974e83598feaefacc9e74f6767dd6f3ec
      
https://github.com/qemu/qemu/commit/cde7ee5974e83598feaefacc9e74f6767dd6f3ec
  Author: Jianjun Duan <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M migration/vmstate.c

  Log Message:
  -----------
  migration: add error_report

Added error_report where version_ids do not match in vmstate_load_state.

Reviewed-by: Dr. David Alan Gilbert <address@hidden>

Signed-off-by: Jianjun Duan <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 05551e58eee80af2d624b4bb5df95eb7182cd0fb
      
https://github.com/qemu/qemu/commit/05551e58eee80af2d624b4bb5df95eb7182cd0fb
  Author: Ashijeet Acharya <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M block/vvfat.c

  Log Message:
  -----------
  block/vvfat: Remove the undesirable comment

Remove the "// assert(is_consistent(s))" comment in block/vvfat.c

Signed-off-by: Ashijeet Acharya <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: d15c05fc1f9c0ddbbab1b2a08b976be82f2d0654
      
https://github.com/qemu/qemu/commit/d15c05fc1f9c0ddbbab1b2a08b976be82f2d0654
  Author: Ashijeet Acharya <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M include/migration/migration.h
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  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: Ashijeet Acharya <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: a3a3d8c73889282eb696535f1b5345d88b4dc58c
      
https://github.com/qemu/qemu/commit/a3a3d8c73889282eb696535f1b5345d88b4dc58c
  Author: Ashijeet Acharya <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M hw/usb/bus.c
    M qdev-monitor.c

  Log Message:
  -----------
  migration: Allow "device add" options to only add migratable devices

Introduce checks for the unmigratable flag in the VMStateDescription
structs of respective devices when user attempts to add them. If the
"--only-migratable" was specified, all unmigratable devices will
rightly fail to add. This feature is made compatible for both "-device"
and "-usbdevice" command line options and covers their hmp and qmp
counterparts as well.

Signed-off-by: Ashijeet Acharya <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: fe44dc91807eca59d0230fe828c1e2ee0c305a1e
      
https://github.com/qemu/qemu/commit/fe44dc91807eca59d0230fe828c1e2ee0c305a1e
  Author: Ashijeet Acharya <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M block/qcow.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M block/vpc.c
    M block/vvfat.c
    M hw/9pfs/9p.c
    M hw/display/virtio-gpu.c
    M hw/intc/arm_gic_kvm.c
    M hw/intc/arm_gicv3_its_kvm.c
    M hw/intc/arm_gicv3_kvm.c
    M hw/misc/ivshmem.c
    M hw/scsi/vhost-scsi.c
    M hw/virtio/vhost.c
    M include/migration/migration.h
    M migration/migration.c
    M stubs/migr-blocker.c
    M target/i386/kvm.c

  Log Message:
  -----------
  migration: disallow migrate_add_blocker during migration

If a migration is already in progress and somebody attempts
to add a migration blocker, this should rightly fail.

Add an errp parameter and a retcode return value to migrate_add_blocker.

Signed-off-by: John Snow <address@hidden>
Signed-off-by: Ashijeet Acharya <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Acked-by: Greg Kurz <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
  Merged with recent 'Allow invtsc migration' change


  Commit: b67b8c3a9deacd4e1f029422f01ad8179e16d580
      
https://github.com/qemu/qemu/commit/b67b8c3a9deacd4e1f029422f01ad8179e16d580
  Author: Ashijeet Acharya <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M include/migration/migration.h
    M migration/migration.c

  Log Message:
  -----------
  migration: Fail migration blocker for --only-migratable

migrate_add_blocker should rightly fail if the '--only-migratable'
option was specified and the device in use should not be able to
perform the action which results in an unmigratable VM.

Make migrate_add_blocker return -EACCES in this case.

Signed-off-by: Ashijeet Acharya <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 1d2acc3162d9c7772510c973f446353fbdd1f9a8
      
https://github.com/qemu/qemu/commit/1d2acc3162d9c7772510c973f446353fbdd1f9a8
  Author: zhanghailiang <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M include/migration/migration.h
    M migration/migration.c

  Log Message:
  -----------
  migration: re-active images while migration been canceled after inactive them

commit fe904ea8242cbae2d7e69c052c754b8f5f1ba1d6 fixed a case
which migration aborted QEMU because it didn't regain the control
of images while some errors happened.

Actually, there are another two cases can trigger the same error reports:
" bdrv_co_do_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed",

Case 1, codes path:
migration_thread()
    migration_completion()
  bdrv_inactivate_all() ----------------> inactivate images
  qemu_savevm_state_complete_precopy()
      socket_writev_buffer() --------> error because destination fails
          qemu_fflush() ----------------> set error on migration stream
-> qmp_migrate_cancel() ----------------> user cancelled migration concurrently
    -> migrate_set_state() ------------------> set migrate CANCELLIN
    migration_completion() -----------------> go on to fail_invalidate
        if (s->state == MIGRATION_STATUS_ACTIVE) -> Jump this branch

Case 2, codes path:
migration_thread()
    migration_completion()
  bdrv_inactivate_all() ----------------> inactivate images
    migreation_completion() finished
-> qmp_migrate_cancel() ---------------> user cancelled migration concurrently
    qemu_mutex_lock_iothread();
    qemu_bh_schedule (s->cleanup_bh);

As we can see from above, qmp_migrate_cancel can slip in whenever
migration_thread does not hold the global lock. If this happens after
bdrv_inactive_all() been called, the above error reports will appear.

To prevent this, we can call bdrv_invalidate_cache_all() in qmp_migrate_cancel()
directly if we find images become inactive.

Besides, bdrv_invalidate_cache_all() in migration_completion() doesn't have the
protection of big lock, fix it by add the missing qemu_mutex_lock_iothread();

Signed-off-by: zhanghailiang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 009fad7f4ccbbf3ea115e9196edde88c0a17c1c2
      
https://github.com/qemu/qemu/commit/009fad7f4ccbbf3ea115e9196edde88c0a17c1c2
  Author: Pankaj Gupta <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: Change name of live migration thread

Change the name of live migration thread from 'migration'
to 'live_migration' to identify it clearly. 'migration'
is a generic word and kernel also has  tasks for process
migration with the name 'migration/cpu#'.

Signed-off-by: Pankaj Gupta <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Amit Shah <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 20daa90a20d2654d82c1d51d542ab56dd27bacbf
      
https://github.com/qemu/qemu/commit/20daa90a20d2654d82c1d51d542ab56dd27bacbf
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M hw/net/e1000e.c
    M hw/net/vmxnet3.c
    M hw/pci-bridge/ioh3420.c
    M hw/pci-bridge/xio3130_downstream.c
    M hw/pci-bridge/xio3130_upstream.c
    M hw/pci/pci.c
    M hw/scsi/megasas.c
    M hw/scsi/vmw_pvscsi.c
    M hw/usb/hcd-xhci.c
    M include/hw/pci/pcie.h

  Log Message:
  -----------
  PCI/migration merge vmstate_pci_device and vmstate_pcie_device

The vmstate_pci_device and vmstate_pcie_devices differ
just in the size of one buffer; combine the two using a _TEST
macro.

I think this is safe as long as everywhere which currently
uses either of these two uses the right type.

One thing that concerns me is that some places use pci_device_load/save
which does some irq mangling, but others just use the VMSTATE_PCI_DEVICE
macro - how are they getting the same irq mangling?

This passes a smoke test migrate of:
./x86_64-softmmu/qemu-system-x86_64 -M pc,accel=kvm -m 1024
./littlefed20.img -device e1000e -device virtio-net -device
e1000 -device virtio-rng -device megasas -device megasas-gen2 -device
ioh3420 -device nec-usb-xhci

to an unmodified qemu.

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 55c4446b8bb179c1895289e59d9be4eac0a20a80
      
https://github.com/qemu/qemu/commit/55c4446b8bb179c1895289e59d9be4eac0a20a80
  Author: Juan Quintela <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M migration/ram.c
    M migration/trace-events

  Log Message:
  -----------
  migration: transform remaining DPRINTF into trace_

So we can remove DPRINTF() macro

Signed-off-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
  Fixed up 'remained/remaining' as requested by Eric


  Commit: 46a02a745176e1ef30de41706b5da4f1bc7fc495
      
https://github.com/qemu/qemu/commit/46a02a745176e1ef30de41706b5da4f1bc7fc495
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M migration/trace-events
    M migration/vmstate.c

  Log Message:
  -----------
  migration/tracing: Add tracing on save

Add some tracing to vmstate_subsection_save and vmstate_save_state
to help in debugging when you're not sure if a conditional piece
of data is being saved.

In vmstate_subsection_save I renamed the inner vmsd to avoid the aliasing
and be able to print both names.

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: d264871209400fa22796d403c9e1ab288d4a5c6b
      
https://github.com/qemu/qemu/commit/d264871209400fa22796d403c9e1ab288d4a5c6b
  Author: Peter Maydell <address@hidden>
  Date:   2017-01-24 (Tue, 24 Jan 2017)

  Changed paths:
    M MAINTAINERS
    M block/qcow.c
    M block/vdi.c
    M block/vhdx.c
    M block/vmdk.c
    M block/vpc.c
    M block/vvfat.c
    M hw/9pfs/9p.c
    M hw/display/virtio-gpu.c
    M hw/intc/arm_gic_kvm.c
    M hw/intc/arm_gicv3_its_kvm.c
    M hw/intc/arm_gicv3_kvm.c
    M hw/intc/s390_flic_kvm.c
    M hw/misc/ivshmem.c
    M hw/net/e1000e.c
    M hw/net/vmxnet3.c
    M hw/nvram/eeprom93xx.c
    M hw/nvram/fw_cfg.c
    M hw/pci-bridge/ioh3420.c
    M hw/pci-bridge/xio3130_downstream.c
    M hw/pci-bridge/xio3130_upstream.c
    M hw/pci/msix.c
    M hw/pci/pci.c
    M hw/pci/shpc.c
    M hw/scsi/megasas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/vhost-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M hw/timer/twl92230.c
    M hw/usb/bus.c
    M hw/usb/hcd-xhci.c
    M hw/usb/redirect.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio.c
    M include/hw/pci/pcie.h
    M include/migration/migration.h
    M include/migration/vmstate.h
    M include/qemu/queue.h
    M migration/migration.c
    M migration/ram.c
    M migration/savevm.c
    M migration/trace-events
    M migration/vmstate.c
    M qdev-monitor.c
    M qemu-options.hx
    M stubs/migr-blocker.c
    M target/alpha/machine.c
    M target/arm/machine.c
    M target/i386/kvm.c
    M target/i386/machine.c
    M target/mips/machine.c
    M target/ppc/machine.c
    M target/sparc/machine.c
    M tests/test-vmstate.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20170124b' 
into staging

Migration

1 My maintainer change
2 Jianjun's qtailq
3 Ashijeet's only-migratable
4 Zhanghailiang's re-active images
5 Pankaj's change name of migration thread
6 My PCI migration merge
7 Juan's debug to tracing
8 My tracing on save

# gpg: Signature made Tue 24 Jan 2017 18:39:35 GMT
# gpg:                using RSA key 0x0516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20170124b:
  migration/tracing: Add tracing on save
  migration: transform remaining DPRINTF into trace_
  PCI/migration merge vmstate_pci_device and vmstate_pcie_device
  migration: Change name of live migration thread
  migration: re-active images while migration been canceled after inactive them
  migration: Fail migration blocker for --only-migratable
  migration: disallow migrate_add_blocker during migration
  migration: Allow "device add" options to only add migratable devices
  migration: Add a new option to enable only-migratable
  block/vvfat: Remove the undesirable comment
  migration: add error_report
  tests/migration: Add test for QTAILQ migration
  migration: migrate QTAILQ
  migration: extend VMStateInfo
  MAINTAINERS: Add myself as a migration submaintainer

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/a9e404600a9b...d26487120940

reply via email to

[Prev in Thread] Current Thread [Next in Thread]