From: "Dr. David Alan Gilbert"
QEMU sets the guests physical address bits to 40; this is wrong
on most hardware, and can theoretically be detected by the guest.
It also stops you using really huge multi-TB VMs.
Red Hat has had a patch, that Andrea wrote, downstream for a
From: "Dr. David Alan Gilbert"
e.g. BIT_RANGE(15, 0) gives 0xff00
Suggested by: Paolo Bonzini
Signed-off-by: Dr. David Alan Gilbert
---
include/qemu/bitops.h | 3 +++
1 file changed, 3 insertions(+)
diff --git
From: "Dr. David Alan Gilbert"
I misunderstood the vmstate macro definition when I reworked the
virtio .get/.put.
The VMSTATE_STRUCT_VARRAY_KNOWN, was described as being for "a
variable length array (i.e. _type *_field) but we know the
length". However it actually specified
From: "Dr. David Alan Gilbert"
I'd missed the sync count off in the postcopy case.
Signed-off-by: Dr. David Alan Gilbert
---
migration/migration.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/migration/migration.c b/migration/migration.c
index
From: "Dr. David Alan Gilbert"
Flush the colo ram cache in parallel; use the same number
of threads as CPU cores.
On a VM with 4 cores, and 4GB RAM, I've seen a reduction from
~20ms to ~16ms using this, which is helpful but not as much
as I hoped; I guess one problem
From: "Dr. David Alan Gilbert"
Spice hooks the migration status changes to figure out when to
transmit information to the new spice server; but the migration
status in postcopy doesn't quite fit - the destination starts
running before the end of the source migration.
It's
From: "Dr. David Alan Gilbert"
Jiri saw a hang on pause_all_vcpus called from postcopy_start,
where the cpus are all apparently stopped ('stopped' flag set)
but pause_all_vcpus is still stuck on a cond_wait on qemu_paused_cond.
We suspect this is happening if a qmp_stop is
From: "Dr. David Alan Gilbert"
Hi,
This fix should go after Denis's use-after-free fix.
The first one is a minor bug fix that Paolo spotted.
The second removes the 'x-' experimental prefix now that
things seem to be running OK, and Jiri has libvirt
working with it.
Dave
From: "Dr. David Alan Gilbert"
We don't join the listen thread, it does its own cleanup.
Mark as detached not joinable.
Signed-off-by: Dr. David Alan Gilbert
Reported-by: Paolo Bonzini
Reviewed-by: Eric Blake
From: "Dr. David Alan Gilbert"
Postcopy seems to have survived a cycle with only a few fixes,
and Jiri has the current libvirt wired up and working
( https://www.redhat.com/archives/libvir-list/2016-March/msg00080.html )
so remove the experimental tag.
Signed-off-by: Dr.
From: "Dr. David Alan Gilbert"
We don't join the listen thread, it does it's own cleanup.
Mark as detached not joinable.
Signed-off-by: Dr. David Alan Gilbert
Reported-by: Paolo Bonzini
---
migration/savevm.c | 2 +-
1 file
From: "Dr. David Alan Gilbert"
Hi,
This fix should go after Denis's use-after-free fix.
The first one is a minor bug fix that Paolo spotted.
The second removes the 'x-' experimental prefix now that
things seem to be running OK, and Jiri has libvirt
working with it.
Dave
From: "Dr. David Alan Gilbert"
Postcopy seems to have survived a cycle with only a few fixes,
and Jiri has the current libvirt wired up and working
( https://www.redhat.com/archives/libvir-list/2016-March/msg00080.html )
so lets remove the experimental tag.
Signed-off-by:
From: "Dr. David Alan Gilbert"
The i82801b11 bridge didn't have a vmsd and thus didn't send
any migration data, including that of its parent PCIBridge object.
The symptom being if the guest used any devices behind the bridge
the guest crashed (mostly with various interrupt
From: "Dr. David Alan Gilbert"
This is a postcopy test (x86 only) that actually runs the guest
and checks the memory contents.
The test runs from an x86 boot block with the hex embedded in the test;
the source for this is:
...
.code16
.org 0x7c00
.file
From: "Dr. David Alan Gilbert"
The discard code in migration/ram.c would send request for
zero length discards in the case where no discards were needed.
It doesn't appear to have had any bad effect.
Signed-off-by: Dr. David Alan Gilbert
---
From: "Dr. David Alan Gilbert"
The RAM section of qmp_query_migrate is reasonably complex
and repeated 3 times. Split it out into a helper.
Signed-off-by: Dr. David Alan Gilbert
---
migration/migration.c | 57
From: "Dr. David Alan Gilbert"
Hi,
This is a small set of postcopy changes, the largest of which
is an x86 test for postcopy.
Andrea's libqtest change came about from running my test under very heavy
load.
The test includes a self contained migration workload that
From: Andrea Arcangeli
I kept getting timeouts and unix socket accept failures under high
load, the patch fixes it.
Signed-off-by: Andrea Arcangeli
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: "Dr. David Alan Gilbert"
On the source, add a count of page requests received from the
destination.
Signed-off-by: Dr. David Alan Gilbert
---
hmp.c | 4
include/migration/migration.h | 2 ++
migration/migration.c
From: "Dr. David Alan Gilbert"
On the source, add a count of page requests received from the
destination.
Signed-off-by: Dr. David Alan Gilbert
---
hmp.c | 4 +++
include/migration/migration.h | 2 ++
migration/migration.c
From: "Dr. David Alan Gilbert"
This is a postcopy test (x86 only) that actually runs the guest
and checks the memory contents.
The test runs from an x86 boot block with the hex embedded in the test;
the source for this is:
...
.code16
.org 0x7c00
.file
From: Andrea Arcangeli
I kept getting timeouts and unix socket accept failures under high
load, the patch fixes it.
Signed-off-by: Andrea Arcangeli
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: "Dr. David Alan Gilbert"
Hi,
This is a small set of postcopy changes, the largest of which
is an x86 test for postcopy.
Andrea's libqtest change came about from running my test under very heavy
load.
The test includes a self contained migration workload that
From: "Dr. David Alan Gilbert"
The discard code in migration/ram.c would send request for
zero length discards in the case where no discards were needed.
It doesn't appear to have had any bad effect.
Signed-off-by: Dr. David Alan Gilbert
---
From: "Dr. David Alan Gilbert"
Hi,
This is a small set of postcopy changes, the largest of which
is an x86 test for postcopy.
Andrea's libqtest change came about from running my test under very heavy
load.
The test includes a self contained migration workload that
From: "Dr. David Alan Gilbert"
The discard code in migration/ram.c would send request for
zero length discards in the case where no discards were needed.
It doesn't appear to have had any bad effect.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by:
From: "Dr. David Alan Gilbert"
On the source, add a count of page requests received from the
destination.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Eric Blake
Reviewed-by: Denis V. Lunev
---
hmp.c
From: "Dr. David Alan Gilbert"
The RAM section of qmp_query_migrate is reasonably complex
and repeated 3 times. Split it out into a helper.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Eric Blake
Reviwed-by: Denis V. Lunev
From: "Dr. David Alan Gilbert"
Knowing whether the destination host supports migration with
postcopy can be tricky.
The destination doesn't need the capability set, however
if we set it then use the opportunity to do the test and
tell the user/management layer early.
From: "Dr. David Alan Gilbert"
This is a postcopy test (x86 only) that actually runs the guest
and checks the memory contents.
The test runs from an x86 boot block with the hex embedded in the test;
the source for this is:
...
.code16
.org 0x7c00
.file
From: Andrea Arcangeli
I kept getting timeouts and unix socket accept failures under high
load, the patch fixes it.
Signed-off-by: Andrea Arcangeli
Reviewed-by: Marcel Apfelbaum
---
tests/libqtest.c | 2 +-
1 file changed, 1
From: "Dr. David Alan Gilbert"
This is a postcopy test (x86 only) that actually runs the guest
and checks the memory contents.
The test runs from an x86 boot block with the hex embedded in the test;
the source for this is:
...
.code16
.org 0x7c00
.file
From: "Dr. David Alan Gilbert"
On the source, add a count of page requests received from the
destination.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Eric Blake
Reviewed-by: Denis V. Lunev
---
hmp.c
From: "Dr. David Alan Gilbert"
Hi,
This is a small set of postcopy changes, the largest of which
is an x86 test for postcopy.
Andrea's libqtest change came about from running my test under very heavy
load.
The test includes a self contained migration workload that
From: "Dr. David Alan Gilbert"
The RAM section of qmp_query_migrate is reasonably complex
and repeated 3 times. Split it out into a helper.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Eric Blake
Reviwed-by: Denis V. Lunev
From: Andrea Arcangeli
I kept getting timeouts and unix socket accept failures under high
load, the patch fixes it.
Signed-off-by: Andrea Arcangeli
Reviewed-by: Marcel Apfelbaum
---
tests/libqtest.c | 2 +-
1 file changed, 1
From: "Dr. David Alan Gilbert"
The discard code in migration/ram.c would send request for
zero length discards in the case where no discards were needed.
It doesn't appear to have had any bad effect.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by:
From: "Dr. David Alan Gilbert"
Pflash migration (e.g. q35 + EFI variable storage) fails
with the assert:
bdrv_co_do_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.
This avoids the problem by delaying the pflash update until after
the device loads complete.
Tested
From: "Dr. David Alan Gilbert"
Hi,
This series converts the outer most layer of virtio to
use VMState macros; this is the easy bit, but I'm hoping that
having done that, the next trick is to nibble away at the virtio_save/load
functions and all of the zillions of
From: "Dr. David Alan Gilbert"
virtio-serial-bus has had version 3 since 37f95bf3d0 in 0.13-rc0;
it's time to clean it up a bit.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Amit Shah
---
hw/char/virtio-serial-bus.c | 37
From: "Dr. David Alan Gilbert"
To make conversion of virtio devices to VMState simple
at first add a helper function for the simple virtio_save
case and a helper macro that defines the VMState structure.
These will probably go away or change as more of the virtio
code gets
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
Reviewed-by: Greg Kurz
---
From: "Dr. David Alan Gilbert"
virgl conditionally registers a vmstate as unmigratable when virgl
is enabled; instead use the migrate_add_blocker mechanism.
Signed-off-by: Dr. David Alan Gilbert
---
hw/display/virtio-gpu.c| 19
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/display/virtio-gpu.c | 17 +++--
1
From: "Dr. David Alan Gilbert"
Remove references to register_savevm.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
docs/virtio-migration.txt | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/input/virtio-input.c | 26
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/char/virtio-serial-bus.c | 27
From: "Dr. David Alan Gilbert"
virtio-net has had version 11 since 0ce0e8f4 in 2009
(v0.11.0-rc0-1480-g0ce0e8f) - remove the code to support loading
anything earlier.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Amit Shah
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/net/virtio-net.c | 17 +++--
1 file
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/virtio/virtio-rng.c | 20 +---
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/scsi/virtio-scsi.c | 21 ++---
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/block/virtio-blk.c | 16 ++--
1
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/virtio/virtio-balloon.c | 19
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/virtio/virtio-rng.c | 20 +---
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/display/virtio-gpu.c | 17 +++--
1
From: "Dr. David Alan Gilbert"
Hi,
This series converts the outer most layer of virtio to
use VMState macros; this is the easy bit, but I'm hoping that
having done that, the next trick is to nibble away at the virtio_save/load
functions and all of the zillions of
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/virtio/virtio-balloon.c | 19
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/net/virtio-net.c | 17 +++--
1 file
From: "Dr. David Alan Gilbert"
virtio-net has had version 11 since 0ce0e8f4 in 2009
(v0.11.0-rc0-1480-g0ce0e8f) - remove the code to support loading
anything earlier.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Amit Shah
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/input/virtio-input.c | 26
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/char/virtio-serial-bus.c | 27
From: "Dr. David Alan Gilbert"
Remove references to register_savevm.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
docs/virtio-migration.txt | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
From: "Dr. David Alan Gilbert"
virtio-serial-bus has had version 3 since 37f95bf3d0 in 0.13-rc0;
it's time to clean it up a bit.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Amit Shah
---
hw/char/virtio-serial-bus.c | 37
From: "Dr. David Alan Gilbert"
To make conversion of virtio devices to VMState simple
at first add a helper function for the simple virtio_save
case and a helper macro that defines the VMState structure.
These will probably go away or change as more of the virtio
code gets
From: "Dr. David Alan Gilbert"
Hi,
The attached patch converts the rc4030 chip to VMState,
however I've not found a way to test it; if anyone could
suggest one I'd appreciate it.
Dave
Dr. David Alan Gilbert (1):
vmstateify rc4030
hw/dma/rc4030.c | 81
From: "Dr. David Alan Gilbert"
rc4030 seems to be part of a MIPS chipset; this converts it to
VMState.
Note:
a) It builds but I've not found a way to boot a MIPS Jazz image to
test it.
b) It was saving 0..<15 on the 16 entry rem_speed array; I've not
got a clue
From: "Dr. David Alan Gilbert"
If a migration fails/is cancelled during the postcopy stage we currently
end up with the runstate as finish-migrate, where it should be post-migrate.
There's a small window in precopy where I think the same thing can
happen, but I've never seen
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/scsi/virtio-scsi.c | 21 ++---
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
Reviewed-by: Greg Kurz
---
From: "Dr. David Alan Gilbert"
Forcibly convert it to a vmstate wrapper; proper conversion
comes later.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Cornelia Huck
---
hw/block/virtio-blk.c | 16 ++--
1
From: "Dr. David Alan Gilbert"
This is the last one of the patches in my previous physical address
bits set; all the others are in x86-next and this patch is based
off x86-next.
v5:
Remove error/warning on host-phys-bits in TCG/32bit mode, so letting
a machine type turn
From: "Dr. David Alan Gilbert"
Add the host-phys-bits boolean property, if true, take phys-bits
from the hosts physical bits value, overriding either the default
or the user specified value.
We can also use the value we read from the host to check the users
explicitly set
From: "Dr. David Alan Gilbert"
barely tested.
Note:
a) Bumps version number because we now use the VMSTATE_SSI_SLAVE that
only uses a byte rather than a 32bit (for saving a bool 'cs').
b) Some of the int's in it's struct should probably become int32_t.
Signed-off-by:
From: "Dr. David Alan Gilbert"
Hi,
Chipping away at register_vmstate's I thought I'd tackle one of the
small devices; does anyone care about the migration state of this?
Note I've bumped the version number on it and haven't got anything
to test with; Peter does the
From: "Dr. David Alan Gilbert"
Currently QEMU sets the x86 number of physical address bits to the
magic number 40. This is only correct on some small AMD systems;
Intel systems tend to have 36, 39, 46 bits, and large AMD systems
tend to have 48.
Having the value different
From: "Dr. David Alan Gilbert"
A special case based on the previous phys-bits property; if it's
the magic value 0 then use the hosts capabilities.
We can also use the value we read from the host to check the users
explicitly set value and warn them if it doesn't match.
From: "Dr. David Alan Gilbert"
The CPU GPs if we try and set a bit in a variable MTRR mask above
the limit of physical address bits on the host. We hit this
when loading a migration from a host with a larger physical
address limit than our destination (e.g. a Xeon->i7 of
From: "Dr. David Alan Gilbert"
Fill the bits between 51..number-of-physical-address-bits in the
MTRR_PHYSMASKn variable range mtrr masks so that they're consistent
in the migration stream irrespective of the physical address space
of the source VM in a migration.
From: "Dr. David Alan Gilbert"
QEMU sets the guests physical address bits to 40; this is wrong
on most hardware, and can be detected by the guest.
It also stops you using really huge multi-TB VMs.
Red Hat has had a patch, that Andrea wrote, downstream for a couple
of years
From: "Dr. David Alan Gilbert"
Currently QEMU sets the x86 number of physical address bits to the
magic number 40. This is only correct on some small AMD systems;
Intel systems tend to have 36, 39, 46 bits, and large AMD systems
tend to have 48.
Having the value different
From: "Dr. David Alan Gilbert"
The CPU GPs if we try and set a bit in a variable MTRR mask above
the limit of physical address bits on the host. We hit this
when loading a migration from a host with a larger physical
address limit than our destination (e.g. a Xeon->i7 of
From: "Dr. David Alan Gilbert"
Add the host-phys-bits boolean property, if true, take phys-bits
from the hosts physical bits value, overriding either the default
or the user specified value.
We can also use the value we read from the host to check the users
explicitly set
From: "Dr. David Alan Gilbert"
Fill the bits between 51..number-of-physical-address-bits in the
MTRR_PHYSMASKn variable range mtrr masks so that they're consistent
in the migration stream irrespective of the physical address space
of the source VM in a migration.
From: "Dr. David Alan Gilbert"
Provide a constant for the number of address bits supported under TCG.
Signed-off-by: Dr. David Alan Gilbert
Suggested-by: Eduardo Habkost
---
target-i386/cpu.h | 6 --
1 file changed, 4
From: "Dr. David Alan Gilbert"
QEMU sets the guests physical address bits to 40; this is wrong
on most hardware, and can be detected by the guest.
It also stops you using really huge multi-TB VMs.
Red Hat has had a patch, that Andrea wrote, downstream for a couple
of years
From: "Dr. David Alan Gilbert"
Currently QEMU sets the x86 number of physical address bits to the
magic number 40. This is only correct on some small AMD systems;
Intel systems tend to have 36, 39, 46 bits, and large AMD systems
tend to have 48.
Having the value different
From: "Dr. David Alan Gilbert"
QEMU sets the guests physical address bits to 40; this is wrong
on most hardware, and can be detected by the guest.
It also stops you using really huge multi-TB VMs.
Red Hat has had a patch, that Andrea wrote, downstream for a couple
of years
From: "Dr. David Alan Gilbert"
The CPU GPs if we try and set a bit in a variable MTRR mask above
the limit of physical address bits on the host. We hit this
when loading a migration from a host with a larger physical
address limit than our destination (e.g. a Xeon->i7 of
From: "Dr. David Alan Gilbert"
Add some sanity checks on the phys-bits setting now that
the user can set it.
a) That it's in a sane range (52..32)
b) Warn if it mismatches the host and isn't the old default.
Signed-off-by: Dr. David Alan Gilbert
From: "Dr. David Alan Gilbert"
Fill the bits between 51..number-of-physical-address-bits in the
MTRR_PHYSMASKn variable range mtrr masks so that they're consistent
in the migration stream irrespective of the physical address space
of the source VM in a migration.
From: "Dr. David Alan Gilbert"
A special case based on the previous phys-bits property; if it's
the magic value 0 then use the hosts capabilities.
This becomes the default on new machine types.
Signed-off-by: Dr. David Alan Gilbert
---
From: "Dr. David Alan Gilbert"
On 32 bit systems fix up phys_bits to be consistent with what
we tell the guest; don't ever bother with using the phys_bits
property.
Signed-off-by: Dr. David Alan Gilbert
---
target-i386/cpu.c | 15 ++-
1
From: "Dr. David Alan Gilbert"
QEMU currently asserts if you try and create a PCI device
on the end of a very long chain, because the ID string
exceeds the maximum length, and ends up aliasing.
Fail with a clean error in this common case; there's
lots of other places that
From: "Dr. David Alan Gilbert"
The qdev id of a device can be huge if it's on the end of a chain
of bridges; in reality such chains shouldn't occur but they can
be made to by chaining PCIe bridges together.
The migration format has a number of 256 character long format
From: "Dr. David Alan Gilbert"
I'll be adding an error to it in a subsequent patch.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by: Juan Quintela
---
hw/core/qdev.c | 3 ++-
hw/intc/apic_common.c | 2 +-
From: "Dr. David Alan Gilbert"
Check qdev's call to vmstate_register_with_alias_id; that gets
most of the common uses; there's hundreds of calls via vmstate_register
which could get fixed over time.
Signed-off-by: Dr. David Alan Gilbert
Reviewed-by:
From: "Dr. David Alan Gilbert"
An early postcopy failure can be recovered from as long as we know
we haven't sent the command to run the destination.
We have to undo the bdrv_inactivate_all by calling
bdrv_invalidate_cache_all
Note that I'm not using ms->block_inactive
From: "Dr. David Alan Gilbert"
Hi,
These are a couple of postcopy fixes for failure paths;
The first is a pretty harmless assert, it happens on the destination
when it discovers that it's got an incoming postcopy but
it can't support it - it was going to exit anyway.
The
From: "Dr. David Alan Gilbert"
On a destination host with no userfault support an incoming
postcopy would cause the state to enter ADVISE before
it realised there was no support, and because it was in ADVISE
state it would perform a cleanup at the end. Since there
was no
701 - 800 of 3588 matches
Mail list logo