Statistics
| Branch: | Revision:

root / savevm.c @ 1b902f7d

History | View | Annotate | Download (58.6 kB)

# Date Author Comment
33cf629a 03/19/2012 08:39 pm Anthony Liguori

Merge remote-tracking branch 'sstabellini/saverestore-8' into staging

  • sstabellini/saverestore-8:
    xen: do not allocate RAM during INMIGRATE runstate
    xen mapcache: check if memory region has moved.
    xen: record physmap changes to xenstore
    Set runstate to INMIGRATE earlier...
a7ae8355 03/19/2012 08:21 pm Stefano Stabellini

Introduce "xen-save-devices-state"

- add an "is_ram" flag to SaveStateEntry;

- register_savevm_live sets is_ram for live_savevm devices;

- introduce a "xen-save-devices-state" QAPI command that can be used to save
the state of all devices, but not the RAM or the block devices of the...

b8b3e756 03/19/2012 03:51 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging

  • qemu-kvm/memory/urgent: (42 commits)
    memory: check for watchpoints when getting code ram_addr
    exec: fix write tlb entry misused as iotlb
    Sparc: avoid AREG0 wrappers for memory access helpers...
1329d189 03/17/2012 02:58 pm Amos Kong

vmstate: fix varrays with uint32_t indexes

VMSTATE_VARRAY_UINT32() is used in hw/ds1225y.c, and we checked
VMS_VARRAY_UINT32 bit of field->flags in vmstate_load_state(),
but we don't check this bit in vmstate_save_state().

Signed-off-by: Amos Kong <>...

539de124 03/15/2012 03:39 pm Luiz Capitulino

Purge migration of (almost) everything to do with monitors

The Monitor object is passed back and forth within the migration/savevm
code so that it can print errors and progress to the user.

However, that approach assumes a HMP monitor, being completely invalid...

e1c37d0e 03/15/2012 03:39 pm Luiz Capitulino

qapi: Convert migrate

The migrate command is one of those commands where HMP and QMP completely
mix up together. This made the conversion to the QAPI (which separates the
command into QMP and HMP parts) a bit difficult.

The first important change to be noticed is that this commit completes the...

1ddde087 01/08/2012 06:16 pm Avi Kivity

Fix vmstate_register_ram() for rom/device regions

rom/device regions have a ram_addr that is composed of both an I/O handler
(low bits) and RAM region (high bits); but qemu_ram_set_idstr() expects just
a RAM region. Mask the I/O handler to make it happy....

c5705a77 01/04/2012 01:34 pm Avi Kivity

vmstate, memory: decouple vmstate from memory API

Currently creating a memory region automatically registers it for
live migration. This differs from other state (which is enumerated
in a VMStateDescription structure) and ties the live migration code
into the memory core....

c2c9a466 12/15/2011 01:40 pm Kevin Wolf

qcow2: Allow >4 GB VM state

This is a compatible extension to the snapshot header format that allows
saving a 64 bit VM state size.

Signed-off-by: Kevin Wolf <>

0e286705 12/12/2011 07:47 pm Eduardo Habkost

stdio_fclose: return -errno on errors (v2)

This is what qemu_fclose() expects.

Changes v1 -> v2:
- Add braces to if statement to match coding style

Signed-off-by: Eduardo Habkost <>
Signed-off-by: Anthony Liguori <>

c29110d5 12/12/2011 07:47 pm Eduardo Habkost

savevm: use qemu_file_set_error() instead of setting last_error directly

Some code uses qemu_file_set_error() already, so use it everywhere
when setting last_error, for consistency.

Signed-off-by: Eduardo Habkost <>
Signed-off-by: Anthony Liguori <>

d82ca915 12/12/2011 07:47 pm Eduardo Habkost

qemu_fclose: return last_error if set (v3)

This will make sure no error will be missed as long as callers always
check for qemu_fclose() return value. For reference, this is the
complete list of qemu_fclose() callers:

- exec_close(): already fixed to check for negative values, not -1...
26f1af0a 12/12/2011 07:47 pm Eduardo Habkost

stdio_pclose: return -errno on error (v3)

This is what qemu_fclose() expects.

Changes v1 -> v2:
- On success, keep returning pclose() return value, instead of always 0.

Changes v2 -> v3:
- Add braces on if statements to match coding style

Signed-off-by: Eduardo Habkost <>...

eb5d5bea 12/05/2011 05:39 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

922453bc 12/05/2011 03:56 pm Stefan Hajnoczi

block: convert qemu_aio_flush() calls to bdrv_drain_all()

Many places in QEMU call qemu_aio_flush() to complete all pending
asynchronous I/O. Most of these places actually want to drain all block
requests but there is no block layer API to do so.

This patch introduces the bdrv_drain_all() API to wait for requests...

07f35073 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in main directory

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

38e0735e 11/21/2011 10:58 pm Anthony Liguori

ivshmem: use migration blockers to prevent live migration in peer mode (v2)

Now when you try to migrate with ivshmem, you get a proper QMP error:

(qemu) migrate tcp:localhost:1025
Migration is disabled when using feature 'peer mode' in device 'ivshmem'
(qemu)...

fa39a30f 11/01/2011 11:52 pm Juan Quintela

savevm: qemu_fille_buffer() used to return one error for reads of size 0.

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

2ff68d07 10/21/2011 07:14 pm Paolo Bonzini

qemu-timer: move more stuff out of qemu-timer.c

Signed-off-by: Paolo Bonzini <>

a6e43daa 10/20/2011 04:46 pm Anthony Liguori

Merge remote-tracking branch 'quintela/migration-pull' into staging

dcd1d224 10/20/2011 02:23 pm Juan Quintela

migration: change has_error to contain errno values

We normally already have an errno value. When not, abuse EIO.

Signed-off-by: Juan Quintela <>

39346385 10/20/2011 02:23 pm Juan Quintela

migration: return real error code

make functions propagate errno, instead of just using -EIO. Add a
comment about what are the return value of qemu_savevm_state_iterate().

Signed-off-by: Juan Quintela <>

624b9cc2 10/20/2011 02:23 pm Juan Quintela

migration: rename qemu_file_has_error to qemu_file_get_error

Now the function returned errno, so it is better the new name.

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

3961b4dd 10/20/2011 02:23 pm Juan Quintela

savevm: Rename has_error to last_error field

Now the field contains the last error name, so rename acordingly.

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

42802d47 10/20/2011 02:23 pm Juan Quintela

migration: use qemu_file_get_error() return value when possible

Signed-off-by: Juan Quintela <>

2975725f 10/20/2011 02:23 pm Juan Quintela

migration: make *save_live return errors

Make *save_live() return negative values when there is one error, and
updates all callers to check for the error.

Signed-off-by: Juan Quintela <>

0046c45b 10/20/2011 02:23 pm Juan Quintela

savevm: teach qemu_fill_buffer to do partial refills

We will need on next patch to be able to lookahead on next patch

v2: rename "used" to "pending" (Alex Williams)

Signed-off-by: Juan Quintela<>
Reviewed-by: Anthony Liguori <>

b9ce1454 10/20/2011 02:23 pm Juan Quintela

savevm: some coding style cleanups

This patch will make moving code on next patches and having checkpatch
happy easier.

Signed-off-by: Juan Quintela<>
Reviewed-by: Anthony Liguori <>

65f3bb3d 10/20/2011 02:23 pm Juan Quintela

savevm: define qemu_get_byte() using qemu_peek_byte()

Signed-off-by: Juan Quintela<>

c6380724 10/20/2011 02:23 pm Juan Quintela

savevm: improve subsections detection on load

We add qemu_peek_buffer, that is identical to qemu_get_buffer, just
that it don't update f->buf_index.

We add a paramenter to qemu_peek_byte() to be able to peek more than
one byte.

Once this is done, to see if we have a subsection we look:...

3da9eebd 10/20/2011 02:23 pm Juan Quintela

Revert "savevm: fix corruption in vmstate_subsection_load()."

This reverts commit eb60260de0b050a5e8ab725e84d377d0b44c43ae.

Conflicts:

savevm.c

We changed qemu_peek_byte() prototype, just fixed the rejects.

Signed-off-by: Juan Quintela<>...

c370f09d 10/19/2011 03:48 pm Luiz Capitulino

savevm: qemu_savevm_state(): Drop stop VM logic

qemu_savevm_state() has some logic to stop the VM and to (or not to)
resume it. But this seems to be a big noop, as qemu_savevm_state()
is only called by do_savevm() when the VM is already stopped.

So, let's drop qemu_savevm_state()'s stop VM logic....

0461d5a6 10/04/2011 05:02 pm Luiz Capitulino

RunState: Rename enum values as generated by the QAPI

Next commit will convert the query-status command to use the
RunState type as generated by the QAPI.

In order to "transparently" replace the current enum by the QAPI
one, we have to make some changes to some enum values....

1dfb4dd9 09/15/2011 10:39 pm Luiz Capitulino

Replace the VMSTOP macros with a proper state type

Today, when notifying a VM state change with vm_state_notify(),
we pass a VMSTOP macro as the 'reason' argument. This is not ideal
because the VMSTOP macros tell why qemu stopped and not exactly
what the current VM state is....

1354869c 09/15/2011 10:39 pm Luiz Capitulino

Drop the vm_running global variable

Use runstate_is_running() instead, which is introduced by this commit.

Signed-off-by: Luiz Capitulino <>

07b70bfb 09/06/2011 12:24 pm Markus Armbruster

savevm: Include writable devices with removable media

savevm and loadvm silently ignore block devices with removable media,
such as floppies and SD cards. Rolling back a VM to a previous
checkpoint will not roll back writes to block devices with removable...

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

e3745602 07/29/2011 05:39 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/migration.2' into staging

00aa0040 07/25/2011 05:38 pm Blue Swirl

Wrap recv to avoid warnings

Avoid warnings like these by wrapping recv():
CC slirp/ip_icmp.o
/src/qemu/slirp/ip_icmp.c: In function 'icmp_receive':
/src/qemu/slirp/ip_icmp.c:418:5: error: passing argument 2 of 'recv' from incompatible pointer type [-Werror]...

2837c8ea 07/20/2011 10:23 am Gerd Hoffmann

vmstate: add no_migrate flag to VMStateDescription

This allows to easily tag devices as non-migratable,
so any attempt to migrate a virtual machine with the
device in question active will make migration fail.

Signed-off-by: Gerd Hoffmann <>

5a8a49d7 06/16/2011 05:42 pm Jan Kiszka

Reset system before loadvm

In case we load the vmstate during incoming migration, we start from a
clean, default machine state as we went through system reset before. But
if we load from a snapshot, the machine can be in any state. That can
cause troubles if loading an older image which does not carry all state...

9bf0960a 06/08/2011 11:04 am Alexandre Raymond

Fix compilation warning due to missing header for sigaction (followup)

This patch removes all references to signal.h when qemu-common.h is included
as they become redundant.

Signed-off-by: Alexandre Raymond <>
Signed-off-by: Stefan Hajnoczi <>

61cc8701 04/16/2011 02:24 pm Stefan Weil

Fix some typos in comments and documentation

helpfull -> helpful
usefull -> useful
cotrol -> control

and a grammar fix.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

17a4663e 04/15/2011 11:14 pm Blue Swirl

Move CPU related functions to cpus.h

Move declarations of CPU related functions to cpus.h. Adjust the only user.

Signed-off-by: Blue Swirl <>

b784421c 03/22/2011 12:41 am Juan Quintela

Fix migration uint8 arrys handled

commit 82fa39b75181b730d6d4d09f443bd26bcfcd045c

only contains half of the fix. It forgots the save state fix for
UINT8 indexes.

Anthony, please apply, without this migration using hpet is broken.
(only current user).
...

aa315f95 03/21/2011 10:28 pm Aurelien Jarno

Merge branch 'for-anthony' of git://github.com/bonzini/qemu

  • 'for-anthony' of git://github.com/bonzini/qemu:
    remove qemu_get_clock
    add a generic scaling mechanism for timers
    change all other clock references to use nanosecond resolution accessors
    change all rt_clock references to use millisecond resolution accessors...
7bd427d8 03/21/2011 10:23 am Paolo Bonzini

change all rt_clock references to use millisecond resolution accessors

This was done with:

sed -i '/get_clock\>.*rt_clock/s/get_clock\>/get_clock_ms/' \
$(git grep -l 'get_clock\>.*rt_clock' )
sed -i '/new_timer\>.*rt_clock/s/new_timer\>/new_timer_ms/' \...
74475455 03/21/2011 10:23 am Paolo Bonzini

change all other clock references to use nanosecond resolution accessors

This was done with:

sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \
$(git grep -l 'qemu_get_clock\>' )
sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \
$(git grep -l 'qemu_new_timer\>' )...
e11480db 03/15/2011 02:21 pm Kevin Wolf

Add error message for loading snapshot without VM state

It already fails, but it didn't tell the user why.

Signed-off-by: Kevin Wolf <>
Reviewed-by: Juan Quintela <>

82fa39b7 03/11/2011 12:12 am Juan Quintela

vmstate: Fix varrays with uint8 indexes

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

a624b086 03/11/2011 12:12 am Juan Quintela

vmstate: add UINT32 VARRAYS

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

9122a8fe 03/11/2011 12:12 am Juan Quintela

vmstate: add VMSTATE_UINT32_EQUAL

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

e07bbac5 02/14/2011 04:39 pm Jan Kiszka

Improve vm_stop reason declarations

Define and use dedicated constants for vm_stop reasons, they actually
have nothing to do with the EXCP_* defines used so far. At this chance,
specify more detailed reasons so that VM state change handlers can
evaluate them....

eb60260d 02/04/2011 02:33 pm Yoshiaki Tamura

savevm: fix corruption in vmstate_subsection_load().

Although it's rare to happen in live migration, when the head of a
byte stream contains 0x05 which is the marker of subsection, the
loader gets corrupted because vmstate_subsection_load() continues even...

27d6bf40 01/31/2011 11:42 am Markus Armbruster

blockdev: Fix regression in -drive if=scsi,index=N

Before commit 622b520f, index=12 meant bus=1,unit=5.

Since the commit, it means bus=0,unit=12. The drive is created, but
not the guest device. That's because the controllers we use with
if=scsi drives (lsi53c895a and esp) support only 7 units, and...

dc912121 01/17/2011 06:22 pm Alex Williamson

savevm: Fix no_migrate

The no_migrate save state flag is currently only checked in the
last phase of migration. This means that we potentially waste
a lot of time and bandwidth with the live state handlers before
we ever check the no_migrate flags. The error message printed...

eff06c40 12/09/2010 12:47 pm Michael S. Tsirkin

migration/savevm: no need to flush requests

There's no need to flush requests after vmstop
as vmstop does it for us automatically now.

Signed-off-by: Michael S. Tsirkin <>
Tested-by: Jason Wang <>

3d002df3 12/02/2010 09:13 pm Michael S. Tsirkin

migration: allow rate > 4g

I'd like to disable bandwidth limit or make it very high,
Use int64_t all over to make values >= 4g work.

Signed-off-by: Michael S. Tsirkin <>
Tested-by: Jason Wang <>

cdae5cfb 11/01/2010 04:57 pm Gerd Hoffmann

add VMSTATE_BOOL

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: malc <>

49a2942d 10/13/2010 09:41 pm Blue Swirl

Delete write only variables

Compiling with GCC 4.6.0 20100925 produced warnings like:
/src/qemu/net/tap-win32.c: In function 'tap_win32_open':
/src/qemu/net/tap-win32.c:582:12: error: variable 'hThread' set but not used [-Werror=unused-but-set-variable]
...

d7d9b528 09/09/2010 10:13 pm Blue Swirl

Fix OpenBSD build warning

Fix this warning:
CC savevm.o
/src/qemu/savevm.c: In function `do_savevm':
/src/qemu/savevm.c:1900: warning: passing arg 1 of `localtime_r' from incompatible pointer type

It looks like on OpenBSD the type of tv_sec in struct timeval is still...

f9209915 08/30/2010 07:29 pm Miguel Di Ciurcio Filho

monitor: make 'info snapshots' show only fully available snapshots

The output generated by 'info snapshots' shows only snapshots that exist on the
block device that saves the VM state. This output can cause an user to
erroneously try to load an snapshot that is not available on all block devices....

7d631a11 08/30/2010 07:29 pm Miguel Di Ciurcio Filho

savevm: Generate a name when run without one

When savevm is run without a name, the name stays blank and the snapshot is
saved anyway.

The new behavior is when savevm is run without parameters a name will be
created automaticaly, so the snapshot is accessible to the user without needing...

24312968 08/11/2010 12:25 am Cam Macdonell

Support marking a device as non-migratable

A non-migratable device should be removed before migration and re-added after.

Signed-off-by: Cam Macdonell <>
Signed-off-by: Anthony Liguori <>

f0aa7a8b 08/03/2010 04:57 pm Miguel Di Ciurcio Filho

loadvm: improve tests before bdrv_snapshot_goto()

This patch improves the resilience of the load_vmstate() function, doing
further and better ordered tests.

In load_vmstate(), if there is any error on bdrv_snapshot_goto(), except if the
error is on VM state device, load_vmstate() will return zero and the VM will be...

69e58af9 07/31/2010 12:00 am Alex Williamson

savevm: Fix memory leak of compat struct

Forgot to check for and free these.

Found-by: Zachary Amsden <>
Signed-off-by: Alex Williamson <>
Signed-off-by: Aurelien Jarno <>

811814bd 07/27/2010 12:19 am Juan Quintela

vmstate: add subsections code

This commit adds subsections for each device section.
Subsections is the way to handle information that don't need to be sent
to de destination of a migration because its values are not needed. It is
the way to handle optional information. Notice that only the source can...

0be71e32 07/06/2010 06:36 pm Alex Williamson

savevm: Add DeviceState param

When available, we'd like to be able to access the DeviceState
when registering a savevm. For buses with a get_dev_path()
function, this will allow us to create more unique savevm
id strings.

Signed-off-by: Alex Williamson <>...

7685ee6a 07/06/2010 06:36 pm Alex Williamson

savevm: Make use of DeviceState

For callers that pass a device we can traverse up the qdev tree and
make use of the BusInfo.get_dev_path information for creating unique
savevm id strings. This avoids needing to rely on the instance number,
which can cause problems with device initialization order and hotplug....

f9092b10 07/02/2010 02:18 pm Markus Armbruster

savevm: Survive hot-unplug of snapshot device

savevm.c keeps a pointer to the snapshot block device. If you manage
to get that device deleted, the pointer dangles, and the next snapshot
operation will crash & burn. Unplugging a guest device that uses it...

dbc13590 06/15/2010 10:41 am Markus Armbruster

block: Decouple savevm from DriveInfo

We find snapshots by iterating over the list of drives defined with
drive_init(). This misses host block devices defined by other means.
Such means don't exist now, but will be introduced later in this
series.

Iterate over all host block devices instead, with bdrv_next()....

feeee5ac 06/15/2010 10:41 am Miguel Di Ciurcio Filho

savevm: Really verify if a drive supports snapshots

Both bdrv_can_snapshot() and bdrv_has_snapshot() does not work as advertized.

First issue: Their names implies different porpouses, but they do the same thing
and have exactly the same code. Maybe copied and pasted and forgotten?...

666daa68 06/04/2010 04:20 pm Markus Armbruster

blockdev: Collect block device code in new blockdev.c

Anything that moves hundreds of lines out of vl.c can't be all bad.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

41ef56e6 06/03/2010 10:55 pm Anthony Liguori

migration: respect exit status with exec:

This patch makes sure that if the exec: process exits with a non-zero return
status, we treat the migration as failed.

This fixes https://bugs.launchpad.net/qemu/+bug/391879

Signed-off-by: Anthony Liguori <>

4d2ffa08 05/15/2010 05:23 pm Jan Kiszka

vmstate: Add support for alias ID

Some legacy users (mostly PC devices) of vmstate_register manage
instance IDs on their own, and that unfortunately in a way that is
incompatible with automatically generated ones. This so far prevents
switching those users to vmstates that are registered by qdev....

ec86f3e1 05/15/2010 05:02 pm Jan Kiszka

vmstate: Drop unused post_save handler

No device makes use of it anymore.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Blue Swirl <>

f8778a77 05/03/2010 08:09 pm Stefan Berger

Fix the RARP protocol ID

The packet(s) sent out after migration are supposed to be RAPR type of
packets. If they are supposed to go anywhere useful, the RAPR ethernet
identifier needs to be fix.

Also see http://www.iana.org/assignments/ethernet-numbers for 0x8035 for...

4a39943b 03/17/2010 04:44 pm Anthony Liguori

Merge remote branch 'markus/qerror' into staging

1ecda02b 03/16/2010 05:58 pm Markus Armbruster

error: Replace qemu_error() by error_report()

error_report() terminates the message with a newline. Strip it it
from its arguments.

This fixes a few error messages lacking a newline:
net_handle_fd_param()'s "No file descriptor named %s found", and
tap_open()'s "vnet_hdr=1 requested, but no kernel support for...

03cd4655 03/16/2010 05:55 pm Markus Armbruster

savevm: Fix -loadvm to report errors to stderr, not the monitor

A monitor may not even exist.

Change load_vmstate() to use qemu_error() instead of monitor_printf().
Parameter mon is now unused, remove it.

090414a3 03/13/2010 01:36 pm Blue Swirl

Fix a typo in error message

Signed-off-by: Blue Swirl <>

ea375f9a 03/04/2010 05:29 am Jan Kiszka

KVM: Rework VCPU state writeback API

This grand cleanup drops all reset and vmsave/load related
synchronization points in favor of four(!) generic hooks:

- cpu_synchronize_all_states in qemu_savevm_state_complete
(initial sync from kernel before vmsave)...

f139a412 01/26/2010 11:45 pm Marcelo Tosatti

fix savevm command without id or tag

savevm without id or tag segfaults in:

(gdb) bt
#0 0x00007f600a83bf8a in __strcmp_sse42 () from /lib64/libc.so.6
#1 0x00000000004745b6 in bdrv_snapshot_find (bs=<value optimized out>,
sn_info=0x7fff996be280, name=0x0) at savevm.c:1631...

5fdb3aa1 12/25/2009 08:19 pm Kirill A. Shutemov

savevm.c: fix warning with _FORTIFY_SOURCE

CC    savevm.o
cc1: warnings being treated as errors
savevm.c: In function 'file_put_buffer':
savevm.c:342: error: ignoring return value of 'fwrite', declared with attribute warn_unused_result
make: *** [savevm.o] Error 1...
90697be8 12/03/2009 07:45 pm Jan Kiszka

live migration: Serialize vmstate saving in stage 2

The effect of this patch with current block migration is that its stage
2, ie. the first full walk-through of the block devices will be
performed completely before RAM migration starts. This ensures that...

4ec7fcc7 12/03/2009 06:48 pm Jan Kiszka

live migration: Allow cleanup after cancellation or error

Introduce qemu_savevm_state_cancel and inject a stage -1 to cancel a
live migration. This gives the involved subsystems a chance to clean up
dynamically allocated resources. Namely, the block migration layer can...

f327aa0c 12/03/2009 06:48 pm Jan Kiszka

live migration: Propagate output monitor to callback handler

In order to allow proper progress reporting to the monitor that
initiated the migration, forward the monitor reference through the
migration layer down to SaveLiveStateHandler.

Signed-off-by: Jan Kiszka <>...

e61a1e0a 12/03/2009 06:04 pm Juan Quintela

vmstate: Add support for VBUFFERS

Support for buffer that are pointed by a pointer (i.e. not embedded)
where the size that we want to use is a field in the state.
We also need a new place to store where to start in the middle of the
buffer, as now it is a pointer, not the offset of the 1st field....

33599e2a 12/03/2009 06:04 pm Juan Quintela

vmstate: Add support for multiplying size for a constant

When the size that we want to transmit is in another field, but in an
unit different that bytes

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

21174c34 12/03/2009 06:04 pm Jan Kiszka

vmstate: Avoid seeking

Seeking on vmstate save/load does not work if the underlying file is a
stream. We could try to make all QEMUFile* forward-seek-aware, but first
attempts in this direction indicated that it's saner to convert the few
qemu_fseek-on-vmstates users to plain reads/writes....

8595387e 12/03/2009 06:04 pm Juan Quintela

vmstate: fix missing ARRAY_OF_POINTERS support on save state

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

f401ca22 12/03/2009 05:41 pm Mark McLoughlin

net: fix qemu_announce_self()

Now that we have a way to iterate NICs.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

a167ba50 11/29/2009 07:00 pm Aurelien Jarno

Add support for GNU/kFreeBSD

Signed-off-by: Aurelien Jarno <>

c163b5ca 11/17/2009 04:49 pm lirans@il.ibm.com

Block live migration

This patch introduces block migration called during live migration. Block
are being copied to the destination in an async way. First the code will
transfer the whole disk and then transfer all dirty blocks accumulted during
the migration....

14f26b00 11/12/2009 07:23 pm Juan Quintela

Fix incoming migration

commit b04c4134d6de28c249277de19e523bfbe4aebbd6
broke incoming migration. After talking with Gleb, code was intended
to be the way is in this fix. This fixes migration here.

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

cb499fb2 11/12/2009 07:23 pm Kevin Wolf

savevm: Delete existing snapshots in all images

When creating a snapshot we can run into the situation that the first disk
doesn't have a snapshot, but the second one does have one with the same name as
the new snapshot.

In this case, qemu doesn't recognize that there is a snapshot to be...

b04c4134 10/27/2009 07:29 pm Gleb Natapov

net: use qemu_send_packet_raw() in qemu_announce_self()

Use qemu_send_packet_raw to send gratuitous arp. This will ensure that
vnet header is handled properly.

Also, avoid sending the gratuitous packet to the guest. There doesn't
appear to be any reason for doing that and the code will currently just...

1abb8172 10/27/2009 07:28 pm Mark McLoughlin

net: remove unused includes of if_tun.h and if_tap.h

Looks like these are just artifacts of vl.c being split up.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

bdb4941d 10/27/2009 07:28 pm Juan Quintela

vmstate: add VMS_VARRAY_UINT16_UNSAFE (varrays with uint16 indexes)

It don't check types.
Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

76507c75 10/27/2009 07:28 pm Juan Quintela

vmstate: Add VMSTATE_BUFFER_UNUSED

It allows to have 'things' in savevm format not backed in the device state
Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>