Statistics
| Branch: | Revision:

root / include / migration / qemu-file.h @ 2dbafdc0

History | View | Annotate | Download (7.7 kB)

# Date Author Comment
c961514f 01/13/2014 01:39 pm Eduardo Habkost

qemu-file: Make a few functions non-static

The QEMUFile code will be moved to qemu-file.c. This will require making
the following functions non-static because they are used by the savevm.c
code:

  • qemu_peek_byte()
  • qemu_peek_buffer()
  • qemu_file_skip()...
bc1256f7 06/27/2013 03:38 am Michael R. Hines

rdma: introduce qemu_file_mode_is_not_valid()

QEMUFileRDMA also has read and write modes. This function is now
shared to reduce code duplication.

Reviewed-by: Juan Quintela <>
Reviewed-by: Paolo Bonzini <>
Reviewed-by: Chegu Vinod <>...

be903b2a 06/27/2013 03:38 am Michael R. Hines

rdma: export qemu_fflush()

RDMA uses this to flush the control channel before sending its
own message to handle page registrations.

Reviewed-by: Juan Quintela <>
Reviewed-by: Paolo Bonzini <>
Reviewed-by: Chegu Vinod <>...

43487c67 06/27/2013 03:38 am Michael R. Hines

rdma: new QEMUFileOps hooks

These are the prototypes and implementation of new hooks that
RDMA takes advantage of to perform dynamic page registration.

An optional hook is also introduced for a custom function
to be able to override the default save_page function....

2b0ce079 06/27/2013 03:38 am Michael R. Hines

rdma: introduce qemu_update_position()

RDMA writes happen asynchronously, and thus the performance accounting
also needs to be able to occur asynchronously. This allows anybody
to call into savevm.c to update both f->pos as well as into arch_init.c
to update the acct_info structure with up-to-date values when...

05fcc848 04/15/2013 09:26 am Kevin Wolf

savevm: Implement block_writev_buffer()

Instead of breaking up RAM state into many small chunks, pass the iovec
to the block layer for better performance.

Signed-off-by: Kevin Wolf <>
Signed-off-by: Stefan Hajnoczi <>

d913829f 03/26/2013 02:32 pm Orit Wasserman

Add QemuFileWritevBuffer QemuFileOps

This will allow us to write an iovec

Signed-off-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Juan Quintela <>

6181ec24 03/26/2013 02:32 pm Orit Wasserman

Add qemu_put_buffer_async

This allows us to add a buffer to the iovec to send without copying it
into the static buffer, the buffer will be sent later when qemu_fflush is called.

Signed-off-by: Orit Wasserman <>
Signed-off-by: Juan Quintela <>

05f28b83 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: make qemu_fflush and qemu_file_set_error private again

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

817b9ed5 03/11/2013 02:32 pm Paolo Bonzini

migration: merge qemu_popen_cmd with qemu_popen

There is no reason for outgoing exec migration to do popen manually
anymore (the reason used to be that we needed the FILE* to make it
non-blocking). Use qemu_popen_cmd.

Reviewed-by: Orit Wasserman <>...

0cc3f3cc 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: add writable socket QEMUFile

Reviewed-by: Orit Wasserman <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Juan Quintela <>

1964a397 03/11/2013 02:32 pm Paolo Bonzini

migration: move rate limiting to QEMUFile

Rate limiting is now simply a byte counter; client call
qemu_file_rate_limit() manually to determine if they have to exit.
So it is possible and simple to move the functionality to QEMUFile.

This makes the remaining functionality of s->file redundant;...

4eb93810 03/11/2013 02:32 pm Paolo Bonzini

qemu-file: temporarily expose qemu_file_set_error and qemu_fflush

Right now, migration cannot entirely rely on QEMUFile's automatic
drop of I/O after an error, because it does its "real" I/O outside
the put_buffer callback. To fix this until buffering is gone, expose...

ad55ab42 02/13/2013 12:26 am Stefan Hajnoczi

migration: make qemu_ftell() public and support writable files

Migration .save_live_iterate() functions return the number of bytes
transferred. The easiest way of doing this is by calling qemu_ftell(f)
at the beginning and end of the function to calculate the difference....

dd217b87 12/21/2012 12:09 am Juan Quintela

migration: make writes blocking

Move all the writes to the migration_thread, and make writings
blocking. Notice that are still using the iothread for everything
that we do.

Signed-off-by: Juan Quintela <>

caf71f86 12/19/2012 09:31 am Paolo Bonzini

migration: move include files to include/migration/

Signed-off-by: Paolo Bonzini <>