Index: new/blockdev.c
===================================================================
---- new.orig/blockdev.c 2014-06-17 06:15:06.000000000 +0200
-+++ new/blockdev.c 2014-06-17 06:15:07.000000000 +0200
-@@ -44,6 +44,7 @@
+--- new.orig/blockdev.c 2014-11-20 07:36:12.000000000 +0100
++++ new/blockdev.c 2014-11-20 07:47:31.000000000 +0100
+@@ -46,6 +46,7 @@
#include "qmp-commands.h"
#include "trace.h"
#include "sysemu/arch_init.h"
+#include "vma.h"
- static QTAILQ_HEAD(drivelist, DriveInfo) drives = QTAILQ_HEAD_INITIALIZER(drives);
-
-@@ -1556,7 +1557,6 @@
- }
- }
-
--
- static void eject_device(BlockDriverState *bs, int force, Error **errp)
- {
- if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_EJECT, errp)) {
-@@ -1878,6 +1878,436 @@
+ static const char *const if_name[IF_COUNT] = {
+ [IF_NONE] = "none",
+@@ -1954,6 +1955,437 @@
bdrv_put_ref_bh_schedule(bs);
}
+ qemu_coroutine_enter(co, NULL);
+
+ while (backup_state.vmaw) {
-+ qemu_aio_wait();
++ /* vma writer use main aio context */
++ aio_poll(qemu_get_aio_context(), true);
+ }
+}
+
+ return info;
+}
+
- void qmp_block_stream(const char *device, bool has_base,
- const char *base, bool has_speed, int64_t speed,
- bool has_on_error, BlockdevOnError on_error,
+ void qmp_block_stream(const char *device,
+ bool has_base, const char *base,
+ bool has_backing_file, const char *backing_file,
Index: new/hmp-commands.hx
===================================================================
---- new.orig/hmp-commands.hx 2014-06-17 06:14:27.000000000 +0200
-+++ new/hmp-commands.hx 2014-06-17 06:15:07.000000000 +0200
+--- new.orig/hmp-commands.hx 2014-11-20 06:45:05.000000000 +0100
++++ new/hmp-commands.hx 2014-11-20 07:47:31.000000000 +0100
@@ -88,6 +88,35 @@
Copy data from a backing file into a block device.
ETEXI
{
.name = "block_job_set_speed",
.args_type = "device:B,speed:o",
-@@ -1764,6 +1793,8 @@
+@@ -1760,6 +1789,8 @@
show CPU statistics
@item info usernet
show user network stack connection states
@item info migrate_capabilities
Index: new/hmp.c
===================================================================
---- new.orig/hmp.c 2014-06-17 06:14:58.000000000 +0200
-+++ new/hmp.c 2014-06-17 06:15:07.000000000 +0200
-@@ -135,6 +135,44 @@
+--- new.orig/hmp.c 2014-11-20 07:26:23.000000000 +0100
++++ new/hmp.c 2014-11-20 07:47:31.000000000 +0100
+@@ -137,6 +137,44 @@
qapi_free_MouseInfoList(mice_list);
}
void hmp_info_migrate(Monitor *mon, const QDict *qdict)
{
MigrationInfo *info;
-@@ -1206,6 +1244,29 @@
+@@ -1212,6 +1250,29 @@
hmp_handle_error(mon, &error);
}
{
Index: new/hmp.h
===================================================================
---- new.orig/hmp.h 2014-06-17 06:14:27.000000000 +0200
-+++ new/hmp.h 2014-06-17 06:15:07.000000000 +0200
+--- new.orig/hmp.h 2014-11-20 06:45:05.000000000 +0100
++++ new/hmp.h 2014-11-20 07:47:31.000000000 +0100
@@ -29,6 +29,7 @@
void hmp_info_migrate(Monitor *mon, const QDict *qdict);
void hmp_info_migrate_capabilities(Monitor *mon, const QDict *qdict);
void hmp_block_job_pause(Monitor *mon, const QDict *qdict);
Index: new/monitor.c
===================================================================
---- new.orig/monitor.c 2014-06-17 06:14:27.000000000 +0200
-+++ new/monitor.c 2014-06-17 06:15:07.000000000 +0200
-@@ -2897,6 +2897,13 @@
+--- new.orig/monitor.c 2014-11-20 06:45:06.000000000 +0100
++++ new/monitor.c 2014-11-20 07:47:31.000000000 +0100
+@@ -2848,6 +2848,13 @@
},
#endif
{
.params = "",
Index: new/qapi-schema.json
===================================================================
---- new.orig/qapi-schema.json 2014-06-17 06:15:00.000000000 +0200
-+++ new/qapi-schema.json 2014-06-17 06:15:07.000000000 +0200
-@@ -340,6 +340,95 @@
+--- new.orig/qapi-schema.json 2014-11-20 07:26:43.000000000 +0100
++++ new/qapi-schema.json 2014-11-20 07:47:31.000000000 +0100
+@@ -352,6 +352,95 @@
##
{ 'command': 'query-events', 'returns': ['EventInfo'] }
#
Index: new/qmp-commands.hx
===================================================================
---- new.orig/qmp-commands.hx 2014-06-17 06:14:58.000000000 +0200
-+++ new/qmp-commands.hx 2014-06-17 06:15:07.000000000 +0200
-@@ -1080,6 +1080,24 @@
+--- new.orig/qmp-commands.hx 2014-11-20 07:26:23.000000000 +0100
++++ new/qmp-commands.hx 2014-11-20 07:47:31.000000000 +0100
+@@ -1097,6 +1097,24 @@
EQMP
{