]> git.proxmox.com Git - pve-qemu-kvm.git/blobdiff - debian/patches/0005-add-regression-tests-for-backup.patch
update backup patches
[pve-qemu-kvm.git] / debian / patches / 0005-add-regression-tests-for-backup.patch
index b5670eb6f96cd1332c3fe092adde6ff24a60057f..43b37f08a542e6e2e61c7e9b32414ccdb5c10dd7 100644 (file)
@@ -1,15 +1,17 @@
-From 017d593f2c83b3e8b415789c10c9d423cf1e811e Mon Sep 17 00:00:00 2001
+From 6df0d37601a8dd765bb30ae456e194155a85d0a4 Mon Sep 17 00:00:00 2001
 From: Dietmar Maurer <dietmar@proxmox.com>
 Date: Wed, 14 Nov 2012 09:57:04 +0100
-Subject: [PATCH v3 5/6] add regression tests for backup
+Subject: [PATCH v3 5/7] add regression tests for backup
 
 Simple regression tests using vma-reader and vma-writer.
 
+Note: the call to g_thread_init() solves problems with g_slice_alloc() - without that call we get arbitrary crashes.
+
 Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
 ---
  tests/Makefile      |   11 +-
- tests/backup-test.c |  511 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 520 insertions(+), 2 deletions(-)
+ tests/backup-test.c |  515 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 524 insertions(+), 2 deletions(-)
  create mode 100644 tests/backup-test.c
 
 diff --git a/tests/Makefile b/tests/Makefile
@@ -52,10 +54,10 @@ index b60f0fb..cffbd22 100644
  -include $(wildcard tests/*.d)
 diff --git a/tests/backup-test.c b/tests/backup-test.c
 new file mode 100644
-index 0000000..c434c5f
+index 0000000..813590e
 --- /dev/null
 +++ b/tests/backup-test.c
-@@ -0,0 +1,511 @@
+@@ -0,0 +1,515 @@
 +/*
 + * QEMU backup test suit
 + *
@@ -317,7 +319,7 @@ index 0000000..c434c5f
 +        g_error("%s", error_get_pretty(errp));
 +    }
 +
-+    if (vma_reader_restore(vmar, -1, &errp) < 0) {
++    if (vma_reader_restore(vmar, -1, false, &errp) < 0) {
 +        g_error("restore failed - %s", error_get_pretty(errp));
 +    }
 +
@@ -430,8 +432,10 @@ index 0000000..c434c5f
 +    bcb.vmaw = vmaw;
 +    bcb.dev_id = vma_writer_register_stream(vmaw, bdrv_get_device_name(bs),
 +                                            bdrv_getlength(bs));
-+    if (backup_job_start(bs, backup_dump_cb, backup_complete_cb, &bcb) < 0) {
-+        g_error("backup_job_start failed");
++    if (backup_job_create(bs, backup_dump_cb, backup_complete_cb, &bcb) < 0) {
++        g_error("backup_job_create failed");
++    } else {
++        backup_job_start(bs);
 +    }
 +
 +    request_term = false;
@@ -511,6 +515,8 @@ index 0000000..c434c5f
 +{
 +    int c;
 +
++    g_thread_init(NULL);
++
 +    for (;;) {
 +        c = getopt(argc, argv, "hdl");
 +        if (c == -1) {