From 3438c0a0149cfa3de19dfbdb0720ed57e6f8e327 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 27 Mar 2014 08:51:12 +0100 Subject: [PATCH] backup: correctly propagate vma write errors in dump callback --- ...backup-vma-correctly-propagate-error.patch | 43 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 44 insertions(+) create mode 100644 debian/patches/backup-vma-correctly-propagate-error.patch diff --git a/debian/patches/backup-vma-correctly-propagate-error.patch b/debian/patches/backup-vma-correctly-propagate-error.patch new file mode 100644 index 0000000..74f2dc5 --- /dev/null +++ b/debian/patches/backup-vma-correctly-propagate-error.patch @@ -0,0 +1,43 @@ +Index: new/vma-writer.c +=================================================================== +--- new.orig/vma-writer.c 2014-03-27 08:48:32.000000000 +0100 ++++ new/vma-writer.c 2014-03-27 08:48:33.000000000 +0100 +@@ -797,6 +797,13 @@ + return transferred; + } + ++void vma_writer_error_propagate(VmaWriter *vmaw, Error **errp) ++{ ++ if (vmaw->status < 0 && *errp == NULL) { ++ error_setg(errp, "%s", vmaw->errmsg); ++ } ++} ++ + int vma_writer_close(VmaWriter *vmaw, Error **errp) + { + g_assert(vmaw != NULL); +Index: new/vma.h +=================================================================== +--- new.orig/vma.h 2014-03-27 08:48:32.000000000 +0100 ++++ new/vma.h 2014-03-27 08:48:33.000000000 +0100 +@@ -116,6 +116,7 @@ + + VmaWriter *vma_writer_create(const char *filename, uuid_t uuid, Error **errp); + int vma_writer_close(VmaWriter *vmaw, Error **errp); ++void vma_writer_error_propagate(VmaWriter *vmaw, Error **errp); + void vma_writer_destroy(VmaWriter *vmaw); + int vma_writer_add_config(VmaWriter *vmaw, const char *name, gpointer data, + size_t len); +Index: new/blockdev.c +=================================================================== +--- new.orig/blockdev.c 2014-03-27 08:48:33.000000000 +0100 ++++ new/blockdev.c 2014-03-27 08:49:50.000000000 +0100 +@@ -1796,7 +1796,7 @@ + buf, &zero_bytes); + if (ret < 0) { + if (!backup_state.error) { +- error_setg(&backup_state.error, "vma_writer_write error %d", ret); ++ vma_writer_error_propagate(backup_state.vmaw, &backup_state.error); + } + if (di->bs && di->bs->job) { + block_job_cancel(di->bs->job); diff --git a/debian/patches/series b/debian/patches/series index 5368bc3..05c488e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,5 +20,6 @@ backup-modify-job-api.patch backup-add-pve-monitor-commands.patch backup-add-dir-format.patch backup-do-not-return-errors-in-dump-callback.patch +backup-vma-correctly-propagate-error.patch internal-snapshot-async.patch disable-efi-enable-pxe-roms.patch -- 2.39.2