Index: new/qapi-schema.json
===================================================================
---- new.orig/qapi-schema.json 2013-12-06 10:26:47.000000000 +0100
-+++ new/qapi-schema.json 2013-12-06 10:27:49.000000000 +0100
-@@ -586,7 +586,7 @@
+--- new.orig/qapi-schema.json 2014-05-05 09:28:22.000000000 +0200
++++ new/qapi-schema.json 2014-05-05 09:32:34.000000000 +0200
+@@ -666,7 +666,7 @@
# @vma: Proxmox vma backup format
##
{ 'enum': 'BackupFormat',
# @backup:
Index: new/blockdev.c
===================================================================
---- new.orig/blockdev.c 2013-12-06 10:27:39.000000000 +0100
-+++ new/blockdev.c 2013-12-06 10:27:49.000000000 +0100
-@@ -1760,6 +1760,8 @@
+--- new.orig/blockdev.c 2014-05-05 09:28:22.000000000 +0200
++++ new/blockdev.c 2014-05-05 09:36:50.000000000 +0200
+@@ -1850,6 +1850,8 @@
uint8_t dev_id;
//bool started;
bool completed;
} PVEBackupDevInfo;
static void pvebackup_run_next_job(void);
-@@ -1828,8 +1830,6 @@
+@@ -1918,8 +1920,6 @@
{
PVEBackupDevInfo *di = opaque;
di->completed = true;
if (ret < 0 && !backup_state.error) {
-@@ -1840,8 +1840,11 @@
+@@ -1930,8 +1930,11 @@
BlockDriverState *bs = di->bs;
di->bs = NULL;
block_job_cb(bs, ret);
-@@ -1918,6 +1921,7 @@
+@@ -2008,6 +2011,7 @@
bool has_speed, int64_t speed, Error **errp)
{
BlockDriverState *bs;
Error *local_err = NULL;
uuid_t uuid;
VmaWriter *vmaw = NULL;
-@@ -1934,11 +1938,6 @@
+@@ -2024,11 +2028,6 @@
/* Todo: try to auto-detect format based on file name */
format = has_format ? format : BACKUP_FORMAT_VMA;
if (has_devlist) {
devs = g_strsplit_set(devlist, ",;:", -1);
-@@ -2006,27 +2005,63 @@
+@@ -2096,27 +2095,63 @@
uuid_generate(uuid);
+ }
+
+ di->target = bdrv_new("");
-+ if (bdrv_open(di->target, di->targetfile, NULL, flags, NULL, &local_err) < 0) {
++ if (bdrv_open(&di->target, di->targetfile, NULL, NULL, flags, NULL, &local_err) < 0) {
+ bdrv_unref(di->target);
+ error_propagate(errp, local_err);
+ goto err;
}
/* add configuration file to archive */
-@@ -2039,12 +2074,27 @@
+@@ -2129,12 +2164,27 @@
goto err;
}
g_free(cdata);
}
-@@ -2084,10 +2134,11 @@
+@@ -2174,10 +2224,11 @@
PVEBackupDevInfo *di = (PVEBackupDevInfo *)l->data;
l = g_list_next(l);
if (local_err != NULL) {
error_setg(&backup_state.error, "backup_job_create failed");
pvebackup_cancel(NULL);
-@@ -2104,8 +2155,17 @@
+@@ -2194,8 +2245,17 @@
l = di_list;
while (l) {
}
g_list_free(di_list);
-@@ -2119,6 +2179,10 @@
+@@ -2209,6 +2269,10 @@
unlink(backup_file);
}
Index: new/hmp-commands.hx
===================================================================
---- new.orig/hmp-commands.hx 2013-12-06 10:26:47.000000000 +0100
-+++ new/hmp-commands.hx 2013-12-06 10:27:49.000000000 +0100
-@@ -85,9 +85,11 @@
+--- new.orig/hmp-commands.hx 2014-05-05 09:28:22.000000000 +0200
++++ new/hmp-commands.hx 2014-05-05 09:32:34.000000000 +0200
+@@ -90,9 +90,11 @@
{
.name = "backup",
Index: new/hmp.c
===================================================================
---- new.orig/hmp.c 2013-12-06 10:26:47.000000000 +0100
-+++ new/hmp.c 2013-12-06 10:27:49.000000000 +0100
-@@ -1245,11 +1245,13 @@
+--- new.orig/hmp.c 2014-05-05 09:28:22.000000000 +0200
++++ new/hmp.c 2014-05-05 09:32:34.000000000 +0200
+@@ -1248,11 +1248,13 @@
{
Error *error = NULL;